/* ENFEMEX · Portada. Cada bloque vive en .enx-w y se adapta al ancho de su columna (container queries),
   así funciona igual dentro de Elementor que en la plantilla propia. */
.enx-w, body.enx-portada {
  --verde: #0C3B2E; --verde-2: #0F4A3A; --verde-3: #082A21; --verde-borde: #2B6A57; --verde-link: #0C5A44;
  --menta: #CFE0D8; --menta-2: #E3EEE8; --acento: #F2B705; --papel: #FBFAF7; --tinta: #0F1A16;
  --gris: #52625B; --gris-2: #3C4A44; --linea: #D9D5CC; --borde: #D5DED8; --cafe: #34302A; --ambar: #8A5A00;
  --serif: 'Newsreader', Georgia, serif; --titular: 'Archivo', 'Arial Narrow', sans-serif;
  --texto: 'Source Sans 3', system-ui, sans-serif; --mono: 'IBM Plex Mono', ui-monospace, monospace;
}
.enx-w { width: 100%; min-width: 0; font-family: var(--texto); font-size: 16px; font-weight: 400; line-height: 1.5; color: var(--tinta); -webkit-font-smoothing: antialiased; }
.enx-w *, .enx-w *::before, .enx-w *::after { box-sizing: border-box; }
.enx-w a { color: var(--verde-link); text-decoration: none; }
.enx-w a:hover { text-decoration: underline; }
.enx-w :focus-visible { outline: 3px solid var(--acento); outline-offset: 2px; }
.enx-w h1, .enx-w h2, .enx-w h3, .enx-w p { margin: 0; padding: 0; letter-spacing: normal; text-transform: none; }
.enx-w button, .enx-w input, .enx-w select { font-family: inherit; }
.enx-w [hidden] { display: none !important; }
.enx-w strong, .enx-w b { font-weight: 700; }
.enx-w.enx-sin-datos { display: none; }
.enx-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.enx-w .enx-mono { font-family: var(--mono); }
.enx-w .enx-gris { color: var(--gris); font-size: 14px; }
.enx-envoltura { box-sizing: border-box; width: 100%; max-width: 1312px; margin: 0 auto; padding: 0 16px; }
body.enx-portada *, body.enx-portada *::before, body.enx-portada *::after { box-sizing: border-box; }

/* ---------- cabecera con cifras */
.enx-w-cabecera .enx-ticker { background: var(--verde-3); color: var(--menta); font-family: var(--mono); font-size: 12px; }
.enx-w-cabecera .enx-ticker-in { display: flex; justify-content: space-between; align-items: center; padding-top: 8px; padding-bottom: 8px; gap: 16px; }
.enx-w-cabecera .enx-fecha { display: none; }
.enx-w-cabecera .enx-cifras { display: flex; gap: 14px; white-space: nowrap; overflow-x: auto; scrollbar-width: none; }
.enx-w-cabecera .enx-cifras::-webkit-scrollbar { display: none; }
.enx-w-cabecera .enx-cifras strong { color: #fff; font-weight: 600; }
.enx-w-cabecera .enx-cifras strong.enx-acento { color: var(--acento); }
.enx-w-cabecera .enx-barra { background: var(--verde); color: #fff; }
.enx-w-cabecera .enx-cabecera { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; position: relative; }
.enx-w .enx-marca { display: flex; align-items: center; gap: 10px; color: #fff; }
.enx-w .enx-marca:hover { text-decoration: none; }
.enx-w .enx-marca-e { width: 34px; height: 34px; border-radius: 10px; background: var(--acento); color: var(--verde); display: flex; align-items: center; justify-content: center; font-family: var(--titular); font-weight: 900; font-size: 18px; }
.enx-w .enx-marca-t { font-family: var(--titular); font-stretch: 125%; font-weight: 800; font-size: 20px; letter-spacing: 1px; }
.enx-w .enx-menu { width: 44px; height: 44px; border: 1px solid var(--verde-borde); background: var(--verde-2); color: #fff; border-radius: 12px; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.enx-w .enx-nav { display: none; }
.enx-w .enx-nav.enx-abierta { display: flex; flex-direction: column; position: absolute; right: 0; top: 64px; z-index: 50; background: var(--verde-2); border: 1px solid var(--verde-borde); border-radius: 14px; padding: 8px; min-width: 240px; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.enx-w .enx-nav.enx-abierta a { color: #fff; padding: 12px 14px; border-radius: 8px; font-weight: 600; }
.enx-w .enx-nav.enx-abierta a:hover { background: var(--verde); text-decoration: none; }
.enx-w-cabecera.enx-a700 .enx-fecha { display: inline; }
.enx-w-cabecera.enx-a700 .enx-ticker { font-size: 13px; }
.enx-w-cabecera.enx-a700 .enx-cifras { gap: 26px; }

.enx-w.enx-a1000 .enx-envoltura { padding: 0 24px; }
.enx-w-cabecera.enx-a1000 .enx-ticker-in { padding-top: 10px; padding-bottom: 10px; }
.enx-w-cabecera.enx-a1000 .enx-cabecera { padding: 20px 0; border-bottom: 1px solid var(--verde-borde); }
.enx-w.enx-a1000 .enx-marca-e { width: 42px; height: 42px; border-radius: 12px; font-size: 22px; }
.enx-w.enx-a1000 .enx-marca-t { font-size: 26px; }
.enx-w.enx-a1000 .enx-menu { display: none; }
.enx-w.enx-a1000 .enx-nav, .enx-w.enx-a1000 .enx-nav.enx-abierta { display: flex; flex-direction: row; position: static; gap: 26px; background: none; border: 0; padding: 0; box-shadow: none; min-width: 0; }
.enx-w.enx-a1000 .enx-nav a, .enx-w.enx-a1000 .enx-nav.enx-abierta a { color: #fff; font-size: 16px; font-weight: 600; padding: 0; }
.enx-w.enx-a1000 .enx-nav a:last-child { color: #B9D1C7; }


/* ---------- buscador */
.enx-w .enx-buscar { position: relative; display: flex; align-items: center; gap: 10px; background: #fff; color: var(--verde); border-radius: 14px; padding: 6px 6px 6px 14px; margin: 0; }
.enx-w .enx-buscar svg { flex-shrink: 0; }
.enx-w .enx-buscar input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; color: var(--tinta); font-size: 16px; padding: 8px 0; box-shadow: none; margin: 0; height: auto; }
.enx-w .enx-buscar input::-webkit-search-cancel-button { display: none; }
.enx-w .enx-buscar button { border: 0; background: var(--acento); color: var(--verde); font-weight: 800; font-size: 15px; padding: 12px 14px; border-radius: 10px; cursor: pointer; white-space: nowrap; line-height: 1.2; }
.enx-w .enx-buscar button:hover { background: #FFC933; }
.enx-w .enx-boton-largo { display: none; }
.enx-w.enx-a470 .enx-boton-largo { display: inline; }
.enx-w.enx-a470 .enx-boton-corto { display: none; }
.enx-w .enx-buscar:focus-within { box-shadow: 0 0 0 3px var(--acento); }
.enx-w .enx-sugerencias { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 60; list-style: none; margin: 0; padding: 6px; background: #fff; border-radius: 12px; box-shadow: 0 14px 34px rgba(0,0,0,.22); color: var(--tinta); }
.enx-w .enx-sugerencias li { padding: 10px 12px; border-radius: 8px; cursor: pointer; display: flex; justify-content: space-between; gap: 12px; margin: 0; }
.enx-w .enx-sugerencias li span { color: var(--gris); font-size: 14px; }
.enx-w .enx-sugerencias li[aria-selected="true"], .enx-w .enx-sugerencias li:hover { background: var(--menta-2); }
.enx-w.enx-a560 .enx-buscar { max-width: 640px; border-radius: 16px; padding: 8px 8px 8px 22px; gap: 12px; }
.enx-w.enx-a560 .enx-buscar input { font-size: 18px; }
.enx-w.enx-a560 .enx-buscar button { font-size: 17px; padding: 14px 22px; border-radius: 12px; }


/* ---------- mapa de mosaicos */
.enx-w .enx-cobertura { background: var(--verde-2); border: 1px solid var(--verde-borde); border-radius: 18px; padding: 16px; color: #fff; display: flex; flex-direction: column; gap: 12px; }
.enx-w .enx-cob-tit { font-family: var(--titular); font-weight: 800; font-size: 19px; }
.enx-w .enx-mapa { --p: min(29px, calc((var(--ancho, 358px) - 34px) / 11)); --t: calc(var(--p) - 2px); position: relative; width: calc(var(--p) * 10 + var(--t)); height: calc(var(--p) * 5 + var(--t)); align-self: center; }
.enx-w .enx-tile { position: absolute; left: calc(var(--c) * var(--p)); top: calc(var(--f) * var(--p)); width: var(--t); height: var(--t); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-family: var(--titular); font-weight: 800; font-size: 7px; transition: transform .12s; }
.enx-w .enx-tile:hover { transform: scale(1.12); text-decoration: none; z-index: 2; }
.enx-w .enx-t-hoy { background: var(--acento); color: var(--verde); border: 1px solid var(--acento); }
.enx-w .enx-t-con { background: #2F7A63; color: #fff; border: 1px solid #3C8B72; }
.enx-w .enx-t-pend { background: transparent; color: #9FC2B4; border: 1px dashed #5E8F7E; }
.enx-w .enx-t-sin { background: var(--verde); color: #7FA898; border: 1px solid var(--verde-borde); }
.enx-w .enx-leyenda { display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: 12px; color: var(--menta); }
.enx-w .enx-leyenda span { display: flex; align-items: center; gap: 6px; }
.enx-w .enx-leyenda i { width: 11px; height: 11px; border-radius: 3px; display: inline-block; }
.enx-w .enx-l-hoy { background: var(--acento); } .enx-w .enx-l-con { background: #2F7A63; } .enx-w .enx-l-pend { border: 1px dashed #7FA898; }
.enx-w.enx-a420 .enx-mapa { --p: min(40px, calc((var(--ancho, 440px) - 48px) / 11)); --t: calc(var(--p) - 4px); }
.enx-w.enx-a420 .enx-tile { font-size: 9px; border-radius: 8px; }
.enx-w.enx-a420 .enx-cobertura { padding: 22px; border-radius: 20px; gap: 14px; }
.enx-w.enx-a420 .enx-cob-tit { font-size: 20px; }
.enx-w.enx-a420 .enx-leyenda { font-size: 13px; gap: 8px 18px; }

.enx-w.enx-a470 .enx-tile { font-size: 10px; }


/* ---------- nota principal */
.enx-w .enx-principal { display: flex; flex-direction: column; gap: 12px; }
.enx-w .enx-principal-ante { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 11px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; }
.enx-w .enx-verde { color: var(--verde-link); }
.enx-w .enx-insignia { background: var(--acento); color: #3D2E00; padding: 4px 8px; border-radius: 5px; letter-spacing: .6px; }
.enx-w .enx-principal h2 { font-family: var(--serif); font-size: 30px; line-height: 1.08; font-weight: 700; }
.enx-w .enx-principal h2 a, .enx-w .enx-item h3 a { color: var(--tinta); }
.enx-w .enx-principal-bajada { font-family: var(--serif); font-size: 18px; line-height: 1.45; color: var(--cafe); }
.enx-w .enx-datos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--tinta); border-bottom: 1px solid var(--tinta); }
.enx-w .enx-datos > div { padding: 10px 12px 10px 0; display: flex; flex-direction: column; gap: 4px; }
.enx-w .enx-datos > div + div { border-left: 1px solid var(--linea); padding-left: 12px; }
.enx-w .enx-datos > div:nth-child(3) { grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: 1px solid var(--linea); }
.enx-w .enx-datos span { font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--gris); }
.enx-w .enx-datos strong { font-weight: 500; font-size: 15px; }
.enx-w .enx-cita { margin: 0; padding: 2px 0 2px 14px; border: 0; border-left: 3px solid var(--verde); font-family: var(--serif); font-style: italic; font-size: 16px; line-height: 1.5; color: var(--cafe); background: none; quotes: none; }
.enx-w .enx-cita::before, .enx-w .enx-cita::after { content: none; }
.enx-w .enx-cita footer { margin-top: 6px; font-style: normal; font-family: var(--texto); font-size: 13px; color: var(--gris); }
.enx-w .enx-vacio-grande p { color: var(--gris); }
.enx-w.enx-a520 .enx-datos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.enx-w.enx-a520 .enx-datos > div:nth-child(3) { grid-column: auto; border-top: 0; border-left: 1px solid var(--linea); padding-left: 12px; }

.enx-w.enx-a700 .enx-principal { gap: 18px; }
.enx-w.enx-a700 .enx-principal-ante { font-size: 13px; letter-spacing: 1.4px; gap: 10px; }
.enx-w.enx-a700 .enx-insignia { padding: 4px 9px; }
.enx-w.enx-a700 .enx-principal h2 { font-size: 48px; line-height: 1.05; }
.enx-w.enx-a700 .enx-principal-bajada { font-size: 21px; }
.enx-w.enx-a700 .enx-datos > div { padding: 14px 16px 14px 0; }
.enx-w.enx-a700 .enx-datos > div + div { padding-left: 16px; }
.enx-w.enx-a700 .enx-datos span { font-size: 12px; }
.enx-w.enx-a700 .enx-datos strong { font-size: 16px; }
.enx-w.enx-a700 .enx-cita { font-size: 19px; padding-left: 20px; }


/* ---------- indicadores */
.enx-w .enx-mini-tit { font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; font-family: var(--texto); color: var(--tinta); }
.enx-w .enx-indicadores { background: #fff; border: 1px solid var(--tinta); padding: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.enx-w .enx-indicadores .enx-mini-tit, .enx-w .enx-nota-fuente { grid-column: 1 / -1; }
.enx-w .enx-ind { display: flex; flex-direction: column; }
.enx-w .enx-ind span { font-size: 12px; color: var(--gris); }
.enx-w .enx-ind strong { font-family: var(--mono); font-size: 17px; font-weight: 500; }
.enx-w .enx-ind-grande strong { font-size: 22px; font-weight: 600; }
.enx-w .enx-nota-fuente { font-size: 11px; color: var(--gris); }
.enx-w.enx-a380:not(.enx-a560) .enx-indicadores { display: block; padding: 18px; }
.enx-w.enx-a380:not(.enx-a560) .enx-indicadores .enx-mini-tit { margin-bottom: 4px; }
.enx-w.enx-a380:not(.enx-a560) .enx-ind { flex-direction: row; justify-content: space-between; align-items: baseline; padding: 8px 0; border-bottom: 1px dotted #C9C3B6; }
.enx-w.enx-a380:not(.enx-a560) .enx-ind:last-of-type { border-bottom: 0; }
.enx-w.enx-a380:not(.enx-a560) .enx-ind span { font-size: 15px; color: var(--tinta); }
.enx-w.enx-a380:not(.enx-a560) .enx-ind strong { font-size: 18px; }
.enx-w.enx-a380:not(.enx-a560) .enx-ind-grande strong { font-size: 24px; }
.enx-w.enx-a380:not(.enx-a560) .enx-nota-fuente { margin-top: 8px; font-size: 12px; }


/* ---------- qué cambia esta semana */
.enx-w .enx-semana { background: #FFF6DB; border: 1px solid #F0DC9C; border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 10px; color: #3D2E00; }
.enx-w .enx-semana h2 { font-family: var(--titular); font-weight: 800; font-size: 19px; color: #3D2E00; }
.enx-w .enx-semana a { display: grid; grid-template-columns: 62px 1fr; gap: 10px; color: #3D2E00; font-size: 14px; line-height: 1.35; }
.enx-w .enx-semana .enx-mono { font-weight: 600; }
.enx-w .enx-semana p { font-size: 14px; }
.enx-w.enx-a380 .enx-semana { border-radius: 18px; padding: 20px; gap: 12px; }
.enx-w.enx-a380 .enx-semana h2 { font-size: 21px; }
.enx-w.enx-a380 .enx-semana a { font-size: 15px; }


/* ---------- temas */
.enx-w .enx-temas h2 { font-family: var(--titular); font-weight: 800; font-size: 21px; margin-bottom: 12px; color: var(--tinta); }
.enx-w .enx-temas-rejilla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.enx-w .enx-temas-rejilla a { background: #fff; border: 1px solid var(--borde); border-radius: 14px; padding: 12px; display: flex; align-items: center; gap: 10px; color: var(--tinta); min-height: 58px; line-height: 1.2; }
.enx-w .enx-temas-rejilla a:hover { border-color: var(--verde); text-decoration: none; }
.enx-w .enx-temas-rejilla strong { font-size: 15px; }
.enx-w .enx-tema-n { display: none; font-size: 14px; color: var(--gris); }
.enx-w .enx-icono { flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; background: var(--menta-2); color: var(--verde); display: flex; align-items: center; justify-content: center; }
.enx-w.enx-a560 .enx-temas-rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.enx-w.enx-a900 .enx-temas h2 { font-size: 26px; margin-bottom: 18px; }
.enx-w.enx-a900 .enx-temas-rejilla { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.enx-w.enx-a900 .enx-temas-rejilla a { flex-direction: column; align-items: flex-start; padding: 18px; border-radius: 16px; gap: 10px; }
.enx-w.enx-a900 .enx-temas-rejilla strong { font-size: 17px; }
.enx-w.enx-a900 .enx-tema-n { display: block; }
.enx-w.enx-a900 .enx-icono { width: 40px; height: 40px; border-radius: 10px; }


/* ---------- lo más reciente */
.enx-w .enx-reciente-cab { display: flex; flex-direction: column; gap: 12px; }
.enx-w .enx-reciente-cab h2 { font-family: var(--serif); font-weight: 700; font-size: 28px; padding-bottom: 8px; border-bottom: 3px double var(--tinta); color: var(--tinta); }
.enx-w .enx-filtros { display: flex; flex-wrap: wrap; gap: 6px; }
.enx-w .enx-filtros button { min-height: 40px; padding: 8px 12px; border-radius: 999px; cursor: pointer; font-size: 14px; font-weight: 600; background: #fff; color: var(--tinta); border: 1px solid #C5D2CB; white-space: nowrap; line-height: 1.2; }
.enx-w .enx-filtros button:hover { border-color: var(--verde); }
.enx-w .enx-filtros button[aria-pressed="true"] { background: var(--verde); color: #fff; border-color: var(--verde); }
.enx-w .enx-item { padding: 12px 0 14px; border-bottom: 1px solid var(--linea); display: flex; flex-direction: column; gap: 7px; }
.enx-w .enx-item-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.enx-w .enx-chip { font-size: 11px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; padding: 4px 8px; border-radius: 6px; }
.enx-w .enx-chip-dof { background: var(--verde); color: #fff; } .enx-w .enx-chip-po { background: var(--menta-2); color: var(--verde); } .enx-w .enx-chip-com { background: #FFF1C2; color: #5C4300; }
.enx-w .enx-lugar { font-size: 13px; color: var(--gris); font-weight: 600; }
.enx-w .enx-item-cuerpo { display: flex; flex-direction: column; gap: 7px; }
.enx-w .enx-item h3 { font-family: var(--serif); font-size: 21px; line-height: 1.2; font-weight: 600; }
.enx-w .enx-item p { font-size: 14px; color: var(--gris-2); }
.enx-w .enx-item p strong { color: var(--tinta); }
.enx-w .enx-vigor { font-size: 13px; color: var(--ambar); font-weight: 600; }
.enx-w .enx-vacio { margin-top: 12px; padding: 16px; background: #fff; border: 1px dashed #C5D2CB; border-radius: 14px; font-size: 14px; color: var(--gris); }
.enx-w.enx-a700 .enx-reciente-cab { flex-direction: row; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 3px double var(--tinta); padding-bottom: 12px; }
.enx-w.enx-a700 .enx-reciente-cab h2 { font-size: 32px; border: 0; padding: 0; white-space: nowrap; }
.enx-w.enx-a700 .enx-filtros { gap: 8px; flex-wrap: nowrap; }
.enx-w.enx-a700 .enx-filtros button { padding: 9px 14px; }
.enx-w.enx-a700 .enx-item { display: grid; grid-template-columns: 160px 1fr; gap: 24px; padding: 18px 0; }
.enx-w.enx-a700 .enx-item-meta { flex-direction: column; align-items: flex-start; }
.enx-w.enx-a700 .enx-chip { font-size: 12px; padding: 5px 9px; }
.enx-w.enx-a700 .enx-lugar { font-size: 14px; }
.enx-w.enx-a700 .enx-item h3 { font-size: 25px; line-height: 1.18; }
.enx-w.enx-a700 .enx-item p { font-size: 16px; }


/* ---------- tu estado */
.enx-w .enx-tuestado { background: #fff; border: 1px solid var(--borde); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.enx-w .enx-tuestado select { font-family: var(--titular); font-weight: 800; font-size: 20px; padding: 8px 10px; border: 1px solid #C5D2CB; border-radius: 10px; background: #fff; color: var(--tinta); width: 100%; height: auto; }
.enx-w .enx-tuestado-cuerpo { display: flex; flex-direction: column; gap: 10px; }
.enx-w .enx-fuentes-estado { display: flex; flex-direction: column; font-size: 14px; }
.enx-w .enx-fuentes-estado div { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid #E6ECE8; }
.enx-w .enx-fuentes-estado div:last-child { border-bottom: 0; }
.enx-w .enx-est-si { color: var(--verde-link); font-weight: 700; } .enx-w .enx-est-pend { color: var(--ambar); font-weight: 700; } .enx-w .enx-est-no { color: var(--gris); font-weight: 700; }
.enx-w .enx-ultimo { font-size: 14px; line-height: 1.45; color: var(--gris-2); }
.enx-w .enx-ver-estado { font-weight: 700; }
.enx-w.enx-a380 .enx-tuestado { border-radius: 18px; padding: 22px; gap: 12px; }
.enx-w.enx-a380 .enx-tuestado select { font-size: 22px; }
.enx-w.enx-a380 .enx-fuentes-estado { font-size: 15px; }


/* ---------- resumen por correo */
.enx-w .enx-resumen-correo { background: var(--verde); color: #fff; border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.enx-w .enx-resumen-correo h2 { font-family: var(--titular); font-weight: 800; font-size: 19px; color: #fff; }
.enx-w .enx-resumen-correo p { color: var(--menta); font-size: 15px; }
.enx-w .enx-resumen-correo .enx-pronto, .enx-w .enx-boton-correo { align-self: flex-start; margin-top: 4px; background: var(--acento); color: var(--verde); font-weight: 800; font-size: 13px; padding: 4px 10px; border-radius: 999px; }
.enx-w .enx-boton-correo { font-size: 15px; padding: 10px 16px; border-radius: 10px; }
.enx-w.enx-a380 .enx-resumen-correo { border-radius: 18px; padding: 22px; }
.enx-w.enx-a380 .enx-resumen-correo h2 { font-size: 20px; }


/* ---------- pie */
.enx-w-pie .enx-pie { background: var(--verde); color: var(--menta); font-size: 13px; }
.enx-w-pie .enx-pie-in { display: flex; flex-direction: column; gap: 10px; padding-top: 20px; padding-bottom: 20px; }
.enx-w-pie .enx-pie-links { display: flex; gap: 18px; }
.enx-w-pie .enx-pie a { color: #fff; }
.enx-w-pie.enx-a700 .enx-pie-in { flex-direction: row; justify-content: space-between; padding-top: 30px; padding-bottom: 30px; font-size: 14px; }


/* ================= Plantilla propia (cuando no se usa Elementor) ================= */
body.enx-portada { margin: 0; background: var(--papel); color: var(--tinta); font-family: var(--texto); }
body.enx-portada .enx-saltar { position: absolute; left: -9999px; top: 0; background: #fff; padding: 8px 12px; z-index: 99; }
body.enx-portada .enx-saltar:focus { left: 8px; top: 8px; }
body.enx-portada .enx-solo-escritorio { display: none !important; }
body.enx-portada .enx-heroe-banda { background: var(--verde); color: #fff; padding: 18px 0 26px; }
body.enx-portada .enx-heroe-texto { display: flex; flex-direction: column; gap: 12px; }
body.enx-portada .enx-antetitulo { font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--acento); }
body.enx-portada .enx-heroe h1 { margin: 0; font-family: var(--serif); font-weight: 700; font-size: 36px; line-height: 1.03; }
body.enx-portada .enx-heroe-bajada { margin: 0; font-size: 16px; color: var(--menta); }
body.enx-portada .enx-rejilla { display: flex; flex-direction: column; gap: 24px; padding-top: 24px; padding-bottom: 32px; }
body.enx-portada .enx-lado { display: contents; }
body.enx-portada .enx-rejilla > .enx-w-principal { order: 1; }
body.enx-portada .enx-lado2 > .enx-w-tuestado { order: 2; }
body.enx-portada .enx-rejilla > .enx-w-reciente { order: 3; }
body.enx-portada .enx-lado2 > .enx-w-correo { order: 4; }
body.enx-portada .enx-rejilla > .enx-mapa-movil { order: 5; }
body.enx-portada .enx-lado1 > .enx-w-semana { order: 6; }
body.enx-portada .enx-lado1 > .enx-w-indicadores { order: 7; }
body.enx-portada .enx-rejilla > .enx-w-temas { order: 8; }
body.enx-portada .enx-confianza { order: 9; display: grid; gap: 18px; }
body.enx-portada .enx-confianza > div { border-top: 3px solid var(--verde); padding-top: 14px; }
body.enx-portada .enx-confianza h2 { margin: 0; font-family: var(--titular); font-weight: 800; font-size: 18px; }
body.enx-portada .enx-confianza p { margin: 6px 0 0; font-size: 15px; color: var(--gris-2); }
@media (min-width: 640px) {
  body.enx-portada .enx-envoltura { padding: 0 32px; }
  body.enx-portada .enx-heroe h1 { font-size: 48px; }
  body.enx-portada .enx-confianza { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1040px) {
  body.enx-portada .enx-envoltura { padding: 0 48px; }
  body.enx-portada .enx-solo-escritorio { display: block !important; }
  body.enx-portada .enx-rejilla > .enx-mapa-movil { display: none; }
  body.enx-portada .enx-heroe-banda { padding: 44px 0 52px; }
  body.enx-portada .enx-heroe { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: center; }
  body.enx-portada .enx-heroe-texto { gap: 22px; }
  body.enx-portada .enx-antetitulo { font-size: 13px; letter-spacing: 1.6px; }
  body.enx-portada .enx-heroe h1 { font-size: 66px; line-height: 1.0; }
  body.enx-portada .enx-heroe-bajada { font-size: 20px; max-width: 620px; }
  body.enx-portada .enx-rejilla { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); column-gap: 40px; row-gap: 52px; padding-top: 48px; padding-bottom: 56px;
    grid-template-areas: "principal lado1" "temas temas" "reciente lado2" "confianza confianza"; }
  body.enx-portada .enx-lado { display: flex; flex-direction: column; gap: 20px; align-self: start; }
  body.enx-portada .enx-rejilla > .enx-w-principal { grid-area: principal; }
  body.enx-portada .enx-lado1 { grid-area: lado1; }
  body.enx-portada .enx-rejilla > .enx-w-temas { grid-area: temas; }
  body.enx-portada .enx-rejilla > .enx-w-reciente { grid-area: reciente; }
  body.enx-portada .enx-lado2 { grid-area: lado2; }
  body.enx-portada .enx-confianza { grid-area: confianza; gap: 20px; }
  body.enx-portada .enx-confianza h2 { font-size: 20px; }
}

/* ================= Dentro de Elementor ================= */
.enx-confianza-sec h3 { margin: 0; }

/* ================= Páginas interiores: ficha, estado, municipio y listados ================= */
body.enx-interior {
  --verde: #0C3B2E; --verde-2: #0F4A3A; --verde-borde: #2B6A57; --verde-link: #0C5A44; --menta: #CFE0D8; --menta-2: #E3EEE8;
  --acento: #F2B705; --papel: #FBFAF7; --tinta: #0F1A16; --gris: #52625B; --gris-2: #3C4A44; --linea: #D9D5CC; --borde: #D5DED8; --ambar: #8A5A00;
  --serif: 'Newsreader', Georgia, serif; --titular: 'Archivo', 'Arial Narrow', sans-serif; --texto: 'Source Sans 3', system-ui, sans-serif; --mono: 'IBM Plex Mono', ui-monospace, monospace;
  margin: 0; background: var(--papel); color: var(--tinta); font-family: var(--texto); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased;
}
body.enx-interior *, body.enx-interior *::before, body.enx-interior *::after { box-sizing: border-box; }
body.enx-interior .enx-saltar { position: absolute; left: -9999px; top: 0; background: #fff; padding: 8px 12px; z-index: 99; }
body.enx-interior .enx-saltar:focus { left: 8px; top: 8px; }
body.enx-interior a { color: var(--verde-link); }

.enx-banda-titulo { background: var(--verde); color: #fff; padding: 22px 0 30px; }
.enx-banda-in { display: flex; flex-direction: column; gap: 12px; }
.enx-migas { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--menta); }
body.enx-interior .enx-migas a { color: var(--menta); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(207,224,216,.4); }
.enx-migas span[aria-current] { color: #fff; }
.enx-banda-titulo .enx-principal-ante { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.enx-acento-t { color: var(--acento); font-size: 12px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; }
.enx-etq-clara { background: rgba(255,255,255,.12); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; padding: 4px 8px; border-radius: 5px; }
.enx-banda-titulo .enx-insignia { background: var(--acento); color: #3D2E00; font-size: 12px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; padding: 4px 8px; border-radius: 5px; }
.enx-banda-titulo h1 { margin: 0; font-family: var(--serif); font-weight: 700; font-size: 34px; line-height: 1.06; letter-spacing: -.2px; color: #fff; }
.enx-bajada { margin: 0; font-family: var(--serif); font-size: 18px; line-height: 1.45; color: var(--menta); max-width: 780px; }
.enx-fecha-nota { margin: 0; font-size: 13px; color: #A9C6BA; }
.enx-cifras-t { display: flex; flex-wrap: wrap; gap: 14px 30px; margin-top: 6px; }
.enx-cifras-t div { display: flex; flex-direction: column; }
.enx-cifras-t strong { font-family: var(--titular); font-weight: 800; font-size: 30px; line-height: 1.1; }
.enx-cifras-t span { font-size: 13px; color: var(--menta); }
.enx-banda-mapa { display: none; }
.enx-w .enx-t-actual { outline: 3px solid #fff; outline-offset: 2px; z-index: 3; }

body.enx-interior main.enx-ficha { display: flex; flex-direction: column; gap: 28px; padding-top: 24px; padding-bottom: 40px; }
.enx-ficha-lado { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.enx-ficha-cuerpo { min-width: 0; }
.enx-ficha-cuerpo .enx-datos { margin-bottom: 26px; }
.enx-w .enx-texto { font-family: var(--serif); font-size: 19px; line-height: 1.62; color: #26221C; max-width: 720px; }
.enx-w .enx-texto h2 { font-family: var(--titular); font-weight: 800; font-size: 21px; line-height: 1.25; color: var(--tinta); margin: 30px 0 8px; }
.enx-w .enx-texto h2:first-child { margin-top: 0; }
.enx-w .enx-texto p { margin: 0 0 16px; }
.enx-w .enx-texto ul, .enx-w .enx-texto ol { margin: 0 0 16px; padding-left: 22px; }
.enx-w .enx-texto li { margin-bottom: 6px; }
.enx-w .enx-texto blockquote { margin: 0 0 16px; padding: 4px 0 4px 18px; border-left: 3px solid var(--verde); font-style: italic; color: #34302A; }
.enx-w .enx-texto blockquote p { margin: 0; }
.enx-w .enx-texto .enx-resumen, .enx-w .enx-texto-bol .enx-atribucion, .enx-w .enx-texto-bol .enx-entradilla { display: none; }
.enx-w .enx-texto .enx-fundamento { color: var(--gris); font-size: 16px; }
.enx-w .enx-texto .enx-fuente, .enx-w .enx-texto .enx-ia { font-family: var(--texto); font-size: 14px; color: var(--gris); margin-top: 24px; }
.enx-w .enx-texto .enx-ia { margin-top: 8px; }
.enx-w .enx-texto a { text-decoration: underline; text-underline-offset: 3px; }

.enx-compartir { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--linea); }
.enx-compartir .enx-mini-tit { margin-right: 6px; }
body.enx-interior .enx-compartir a, .enx-compartir button { font-family: var(--texto); font-size: 14px; font-weight: 600; color: var(--tinta); background: #fff; border: 1px solid #C5D2CB; border-radius: 999px; padding: 8px 14px; min-height: 40px; display: inline-flex; align-items: center; cursor: pointer; text-decoration: none; }
body.enx-interior .enx-compartir a:hover, .enx-compartir button:hover { border-color: var(--verde); }

.enx-tarjeta { background: #fff; border: 1px solid var(--borde); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.enx-w.enx-tarjeta p, .enx-tarjeta p { margin: 0; }
.enx-tarjeta-verde { background: var(--verde); border-color: var(--verde); color: #fff; }
.enx-w.enx-tarjeta-verde h2 { font-family: var(--titular); font-weight: 800; font-size: 18px; color: #fff; }
.enx-w.enx-tarjeta-verde p { color: var(--menta); font-size: 15px; }
.enx-doc-fuente { font-weight: 700; font-size: 16px; }
.enx-doc-dato { font-family: var(--mono); font-size: 13px; color: var(--gris); }
.enx-doc-titulo { font-family: var(--serif); font-style: italic; font-size: 15px; color: var(--gris-2); line-height: 1.45; }
body.enx-interior .enx-boton { align-self: flex-start; background: var(--verde); color: #fff; font-weight: 700; font-size: 15px; padding: 12px 16px; border-radius: 10px; text-decoration: none; margin-top: 4px; }
body.enx-interior .enx-boton:hover { background: #0F4A3A; text-decoration: none; }
.enx-w .enx-doc-nota { font-size: 12px; color: var(--gris); }
.enx-chips { display: flex; flex-wrap: wrap; gap: 6px; }
body.enx-interior .enx-chips a, .enx-chips span { font-size: 13px; font-weight: 600; color: var(--verde); background: var(--menta-2); border-radius: 999px; padding: 5px 11px; text-decoration: none; }
body.enx-interior .enx-chips a:hover { background: #D3E6DC; }
.enx-w .enx-mt { margin-top: 8px; }

.enx-relacionadas { background: #fff; border: 1px solid var(--borde); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; }
.enx-relacionadas .enx-mini-tit { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
body.enx-interior .enx-relacionadas a { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px 0; border-bottom: 1px solid #E6ECE8; color: var(--tinta); text-decoration: none; }
body.enx-interior .enx-relacionadas a:last-child { border-bottom: 0; padding-bottom: 0; }
.enx-relacionadas strong { font-family: var(--serif); font-size: 17px; font-weight: 600; line-height: 1.25; }
body.enx-interior .enx-relacionadas a:hover strong { text-decoration: underline; }
.enx-relacionadas .enx-chip { font-size: 10px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; padding: 3px 7px; border-radius: 5px; }
.enx-relacionadas .enx-chip-dof { background: var(--verde); color: #fff; } .enx-relacionadas .enx-chip-po { background: var(--menta-2); color: var(--verde); } .enx-relacionadas .enx-chip-com { background: #FFF1C2; color: #5C4300; }

.enx-w .enx-cab-lista { margin-bottom: 4px; }
.enx-w.enx-a700 .enx-cab-lista { flex-wrap: wrap; row-gap: 12px; }
.enx-w.enx-a700 .enx-cab-lista .enx-filtros { flex-wrap: wrap; }
.enx-w .enx-filtro { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 12px; border-radius: 999px; font-size: 14px; font-weight: 600; background: #fff; color: var(--tinta); border: 1px solid #C5D2CB; white-space: nowrap; }
.enx-w .enx-filtro:hover { border-color: var(--verde); text-decoration: none; }
.enx-w .enx-filtro[aria-current] { background: var(--verde); color: #fff; border-color: var(--verde); }
.enx-w .enx-fecha-item { font-family: var(--mono); font-size: 12px; color: var(--gris); }
.enx-w .enx-feed .enx-vacio { margin-top: 16px; }
.enx-paginas { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 24px; }
body.enx-interior .enx-paginas .page-numbers { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border-radius: 10px; border: 1px solid #C5D2CB; background: #fff; color: var(--tinta); font-weight: 600; text-decoration: none; }
body.enx-interior .enx-paginas .page-numbers.current { background: var(--verde); color: #fff; border-color: var(--verde); }
body.enx-interior .enx-paginas .page-numbers.dots { border: 0; background: none; }

.enx-municipios .enx-filtra-mun { width: 100%; font-family: var(--texto); font-size: 16px; padding: 10px 12px; border: 1px solid #C5D2CB; border-radius: 10px; }
.enx-lista-mun { list-style: none; margin: 0; padding: 0; max-height: 420px; overflow-y: auto; }
.enx-lista-mun li { display: flex; justify-content: space-between; gap: 8px; padding: 7px 2px; border-bottom: 1px solid #EEF2EF; font-size: 15px; }
.enx-lista-mun li span { font-family: var(--mono); font-size: 12px; color: var(--gris); }
.enx-lista-mun li[hidden] { display: none; }
.enx-ver-estado { font-weight: 700; }

@media (min-width: 640px) {
  body.enx-interior .enx-envoltura { padding: 0 32px; }
  .enx-banda-titulo h1 { font-size: 44px; }
}
@media (min-width: 1040px) {
  body.enx-interior .enx-envoltura { padding: 0 48px; }
  .enx-banda-titulo { padding: 34px 0 48px; }
  .enx-banda-in { gap: 16px; }
  .enx-banda-titulo h1 { font-size: 54px; line-height: 1.03; max-width: 1000px; }
  .enx-bajada { font-size: 21px; }
  .enx-acento-t { font-size: 13px; letter-spacing: 1.6px; }
  .enx-banda-dos { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: center; }
  .enx-banda-texto { display: flex; flex-direction: column; gap: 16px; }
  .enx-banda-mapa { display: block; }
  .enx-cifras-t strong { font-size: 38px; }
  body.enx-interior main.enx-ficha { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 56px; padding-top: 44px; padding-bottom: 64px; align-items: start; }
  .enx-w .enx-texto { font-size: 20px; }
  .enx-w .enx-texto h2 { font-size: 23px; margin-top: 36px; }
}

/* ================= Sección Datos ================= */
.enx-d-banda .enx-banda-in { padding-bottom: 4px; }
.enx-d-subnav { background: #fff; border-bottom: 1px solid var(--linea); position: sticky; top: 0; z-index: 20; }
.enx-d-subnav .enx-envoltura { display: flex; gap: 6px; overflow-x: auto; padding-top: 8px; padding-bottom: 8px; scrollbar-width: none; }
body.enx-interior .enx-d-subnav a { white-space: nowrap; font-size: 14px; font-weight: 600; color: var(--tinta); padding: 8px 12px; border-radius: 999px; text-decoration: none; }
body.enx-interior .enx-d-subnav a:hover { background: var(--menta-2); }
body.enx-interior .enx-d-subnav a[aria-current] { background: var(--verde); color: #fff; }
.enx-d-buscar { display: flex; gap: 8px; background: #fff; border-radius: 14px; padding: 6px; max-width: 560px; margin-top: 6px; }
.enx-d-buscar input { flex: 1; min-width: 0; border: 0; outline: none; font-family: var(--texto); font-size: 16px; padding: 8px 10px; color: var(--tinta); background: transparent; }
.enx-d-buscar button, body.enx-interior button.enx-boton { border: 0; cursor: pointer; font-family: var(--texto); }
.enx-d-buscar button { background: var(--acento); color: var(--verde); font-weight: 800; font-size: 15px; padding: 10px 14px; border-radius: 10px; }
.enx-d-buscar:focus-within { box-shadow: 0 0 0 3px var(--acento); }
.enx-d-acciones { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 0; }
body.enx-interior .enx-boton-claro { background: var(--acento); color: var(--verde); }
body.enx-interior .enx-boton-borde { background: transparent; color: #fff; border: 1px solid var(--verde-borde); }

body.enx-interior main.enx-d-main { display: flex; flex-direction: column; gap: 36px; padding-top: 28px; padding-bottom: 56px; }
.enx-d-seccion { min-width: 0; }
.enx-d-h2 { margin: 0 0 8px; font-family: var(--titular); font-weight: 800; font-size: 22px; color: var(--tinta); }
.enx-d-seccion > p { margin: 0 0 12px; }
.enx-d-nota { margin: 0; }
.enx-d-aviso h2 { margin: 0; font-family: var(--titular); font-weight: 800; font-size: 20px; }
.enx-d-cab { display: flex; flex-direction: column; gap: 10px; margin-bottom: 6px; }
.enx-d-cab .enx-filtros { display: flex; flex-wrap: wrap; gap: 6px; }
body.enx-interior .enx-d-cab .enx-filtro { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; background: #fff; color: var(--tinta); border: 1px solid #C5D2CB; text-decoration: none; }
body.enx-interior .enx-d-cab .enx-filtro[aria-current] { background: var(--verde); color: #fff; border-color: var(--verde); }

.enx-d-destacados { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.enx-d-dato { background: #fff; border: 1px solid var(--borde); border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 4px; }
.enx-d-dato strong { font-family: var(--titular); font-weight: 800; font-size: 38px; line-height: 1.05; color: var(--tinta); }
.enx-d-dato > span:not(.enx-mini-tit):not(.enx-d-cambio) { font-size: 14px; color: var(--gris); }
.enx-d-dato .enx-mini-tit { font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--gris); }
.enx-d-cambio { font-size: 14px; font-weight: 600; color: var(--gris-2); white-space: nowrap; }
.enx-d-cambio span { font-size: 10px; vertical-align: 1px; }

.enx-d-temas { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.enx-d-tema { background: #fff; border: 1px solid var(--borde); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 6px; color: var(--tinta); text-decoration: none; min-height: 150px; }
body.enx-interior a.enx-d-tema:hover { border-color: var(--verde); text-decoration: none; }
.enx-d-tema strong { font-family: var(--titular); font-weight: 800; font-size: 17px; }
.enx-d-tema span:not(.enx-icono) { font-size: 14px; color: var(--gris); }
.enx-d-tema em { margin-top: auto; font-style: normal; font-size: 13px; font-weight: 700; color: var(--verde-link); }
.enx-d-tema .enx-icono { width: 36px; height: 36px; border-radius: 10px; background: var(--menta-2); color: var(--verde); display: flex; align-items: center; justify-content: center; }
.enx-d-pronto { background: #F6F6F3; border-style: dashed; }
.enx-d-pronto .enx-icono { background: #ECECE7; color: var(--gris); }

.enx-d-dos { display: grid; gap: 28px; }
.enx-d-mapa-caja { background: #fff; border: 1px solid var(--borde); border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 14px; }
.enx-d-mapa-caja .enx-mapa { --p: min(40px, calc((100vw - 90px) / 11)); --t: calc(var(--p) - 4px); position: relative; width: calc(var(--p) * 10 + var(--t)); height: calc(var(--p) * 5 + var(--t)); align-self: center; }
.enx-d-mapa-caja .enx-tile { position: absolute; left: calc(var(--c) * var(--p)); top: calc(var(--f) * var(--p)); width: var(--t); height: var(--t); border-radius: 7px; display: flex; align-items: center; justify-content: center; font-family: var(--titular); font-weight: 800; font-size: 9px; text-decoration: none; }
body.enx-interior .enx-d-mapa-caja .enx-tile:hover { outline: 2px solid var(--tinta); outline-offset: 1px; text-decoration: none; z-index: 2; }
.enx-d-rampa { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--gris); justify-content: center; }
.enx-d-rampa span { display: flex; align-items: center; gap: 6px; font-family: var(--mono); }
.enx-d-rampa i { width: 14px; height: 14px; border-radius: 4px; display: inline-block; border: 1px solid rgba(15,26,22,.12); }

.enx-d-tabla-caja { overflow-x: auto; background: #fff; border: 1px solid var(--borde); border-radius: 16px; }
.enx-d-tabla { width: 100%; border-collapse: collapse; font-size: 15px; }
.enx-d-tabla th, .enx-d-tabla td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #EEF2EF; vertical-align: middle; }
.enx-d-tabla thead th { font-size: 12px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--gris); background: #FAFBFA; position: sticky; top: 0; white-space: nowrap; }
.enx-d-tabla[data-ordenable] thead th { cursor: pointer; user-select: none; }
.enx-d-tabla[data-ordenable] thead th::after { content: ' ↕'; color: #B6C2BC; }
.enx-d-tabla[data-ordenable] thead th[aria-sort="descending"]::after { content: ' ↓'; color: var(--tinta); }
.enx-d-tabla[data-ordenable] thead th[aria-sort="ascending"]::after { content: ' ↑'; color: var(--tinta); }
.enx-d-tabla tbody tr:hover { background: #F7FAF8; }
.enx-d-tabla td:first-child { color: var(--gris); font-family: var(--mono); font-size: 13px; width: 40px; }
.enx-d-num { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.enx-d-barra-c { position: relative; min-width: 150px; }
.enx-d-barra { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); height: 18px; max-width: calc(100% - 24px); background: #CFE6DA; border-radius: 0 4px 4px 0; }
.enx-d-barra-c .enx-d-num { position: relative; padding-left: 6px; font-weight: 600; }
.enx-d-comp th[scope="row"] { font-weight: 600; }
.enx-d-comp th[scope="row"] span { display: block; font-size: 12px; font-weight: 400; }
.enx-d-comp td { text-align: right; }
.enx-d-comp thead th:not(:first-child) { text-align: right; }

.enx-d-tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.enx-d-tarjeta { background: #fff; border: 1px solid var(--borde); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.enx-d-tarjeta h3 { margin: 0; font-family: var(--titular); font-weight: 800; font-size: 16px; }
body.enx-interior .enx-d-tarjeta h3 a { color: var(--tinta); text-decoration: none; }
body.enx-interior .enx-d-tarjeta h3 a:hover { text-decoration: underline; }
.enx-d-cifra { margin: 4px 0 0; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.enx-d-cifra strong { font-family: var(--titular); font-weight: 800; font-size: 32px; line-height: 1; }
.enx-d-cifra span { font-size: 12px; color: var(--gris); }
.enx-d-sub { margin: 0; font-size: 13px; }
.enx-d-ref { margin: 2px 0 0; font-size: 12px; color: var(--gris); font-family: var(--mono); }
.enx-d-mini { width: 100%; height: 34px; margin-top: 6px; }

.enx-d-fig { margin: 0; position: relative; background: #fff; border: 1px solid var(--borde); border-radius: 16px; padding: 12px 8px 8px; }
.enx-d-lineas { width: 100%; height: auto; display: block; font-family: var(--texto); }
.enx-d-grid { stroke: #E6ECE8; stroke-width: 1; }
.enx-d-base { stroke: #9AA8A1; stroke-width: 1; }
.enx-d-eje-l { stroke: #9AA8A1; }
.enx-d-eje { font-size: 12px; fill: var(--gris); font-family: var(--mono); }
.enx-d-etq { font-size: 13px; font-weight: 600; fill: var(--tinta); }
.enx-d-cruz line { stroke: var(--tinta); stroke-width: 1; stroke-dasharray: 3 3; }
.enx-d-tip { position: absolute; pointer-events: none; background: var(--tinta); color: #fff; border-radius: 8px; padding: 8px 10px; font-size: 13px; line-height: 1.4; box-shadow: 0 8px 20px rgba(0,0,0,.2); white-space: nowrap; z-index: 5; }
.enx-d-tip b { display: block; font-weight: 700; margin-bottom: 2px; }
.enx-d-tip i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.enx-d-leyenda { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 4px 8px 4px; font-size: 13px; }
.enx-d-leyenda span { display: flex; align-items: center; gap: 6px; }
.enx-d-leyenda i { width: 14px; height: 4px; border-radius: 2px; display: inline-block; }
.enx-d-vacio { color: var(--gris); }

.enx-d-selector { gap: 12px; }
.enx-d-slots { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.enx-d-selector label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; color: var(--gris); }
.enx-d-selector input, .enx-d-selector select { font-family: var(--texto); font-size: 16px; padding: 10px 12px; border: 1px solid #C5D2CB; border-radius: 10px; background: #fff; color: var(--tinta); min-width: 0; }
.enx-d-selector-fila { flex-direction: row; flex-wrap: wrap; align-items: flex-end; }
.enx-d-selector-fila label { flex: 1 1 240px; }
.enx-d-cta { display: flex; flex-direction: column; gap: 14px; background: var(--verde); color: #fff; border-radius: 18px; padding: 24px; }
.enx-d-cta h2 { margin: 0; font-family: var(--titular); font-weight: 800; font-size: 22px; color: #fff; }
.enx-d-cta p { margin: 4px 0 0; color: var(--menta); }
body.enx-interior .enx-d-cta .enx-boton { background: var(--acento); color: var(--verde); align-self: flex-start; }
.enx-d-ficha dl { display: grid; grid-template-columns: 1fr; gap: 4px 16px; margin: 0; font-size: 15px; }
.enx-d-ficha dt { font-weight: 700; margin-top: 6px; }
.enx-d-ficha dd { margin: 0; color: var(--gris-2); }
.enx-d-texto { max-width: 820px; }
.enx-d-encifras .enx-d-fila-c { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-bottom: 1px solid #E6ECE8; font-size: 15px; }

@media (min-width: 760px) {
  .enx-d-cab { flex-direction: row; justify-content: space-between; align-items: center; }
  .enx-d-cta { flex-direction: row; justify-content: space-between; align-items: center; }
  .enx-d-ficha dl { grid-template-columns: 160px 1fr; }
  .enx-d-ficha dt { margin-top: 0; }
}
@media (min-width: 1040px) {
  .enx-d-dos { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: start; }
  .enx-d-h2 { font-size: 26px; }
  .enx-d-mapa-caja .enx-mapa { --p: 44px; --t: 40px; }
  .enx-d-mapa-caja .enx-tile { font-size: 10px; }
}
body.enx-interior main.enx-d-main > *, .enx-d-dos > * { min-width: 0; max-width: 100%; }
.enx-d-selector input, .enx-d-selector select { width: 100%; }
@media (max-width: 600px) {
  .enx-d-eje { font-size: 22px; }
  .enx-d-etq { font-size: 24px; }
  .enx-d-lineas polyline { stroke-width: 3; }
}
/* Barra de Datos: los botones no se recortan ni se deforman al pasar el cursor o al hacer clic */
.enx-d-subnav { padding: 10px 0; }
body.enx-interior .enx-d-subnav .enx-envoltura { padding-top: 4px; padding-bottom: 4px; overflow-x: auto; overflow-y: visible; -webkit-overflow-scrolling: touch; }
.enx-d-subnav .enx-envoltura::-webkit-scrollbar { display: none; }
body.enx-interior .enx-d-subnav a { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: 38px; line-height: 1.2; border: 1px solid transparent; box-sizing: border-box; transition: background-color .15s, border-color .15s; -webkit-tap-highlight-color: transparent; }
body.enx-interior .enx-d-subnav a:hover { background: var(--menta-2); border-color: #C9DDD2; color: var(--tinta); text-decoration: none; }
body.enx-interior .enx-d-subnav a[aria-current], body.enx-interior .enx-d-subnav a[aria-current]:hover { background: var(--verde); border-color: var(--verde); color: #fff; }
body.enx-interior .enx-d-subnav a:focus { outline: none; }
body.enx-interior .enx-d-subnav a:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; }
/* Sección Datos armada con Elementor */
.elementor-widget-enx_dp_subnav { position: sticky; top: 0; z-index: 20; }
.elementor-widget-enx_dp_subnav .enx-d-subnav { position: static; }
main.enx-d-main > .enx-d-pieza, main.enx-d-main > .elementor-widget > .enx-d-pieza { min-width: 0; }
.enx-d-plantilla .elementor-widget { width: 100%; max-width: 100%; }
.enx-d-editor-vacio { border: 1px dashed #9FB5AA; border-radius: 12px; padding: 14px 16px; font-size: 14px; color: #5B6B63; background: #F6F8F7; }
.elementor .enx-d-pieza a:where(:not([class])) { text-decoration: underline; }
.elementor .enx-d-pieza .enx-d-ficha dd a { text-decoration: none; }

/* ================= Quién gobierna ================= */
.enx-g-buscar { max-width: 760px; }
body.enx-interior main.enx-g-main { padding-top: 24px; padding-bottom: 56px; display: flex; flex-direction: column; gap: 22px; }
.enx-g-filtros { display: flex; flex-wrap: wrap; gap: 18px 26px; align-items: flex-end; background: #fff; border: 1px solid var(--borde); border-radius: 16px; padding: 16px 18px; }
.enx-g-filtros fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.enx-g-filtros legend, .enx-g-campo label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gris); margin-bottom: 8px; padding: 0; display: block; }
.enx-g-campo { display: flex; flex-direction: column; min-width: 0; }
.enx-g-campo select { min-height: 44px; min-width: 200px; border: 1px solid #C5D2CB; border-radius: 10px; padding: 0 12px; font-family: var(--texto); font-size: 16px; background: #fff; color: var(--tinta); }
.enx-g-mono, .enx-g-campo select.enx-g-mono { font-family: var(--mono); }
.enx-g-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.enx-g-chip { position: relative; }
.enx-g-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.enx-g-chip span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid #C5D2CB; background: #fff; font-size: 14px; font-weight: 600; cursor: pointer; }
.enx-g-chip input:checked + span { background: var(--verde); border-color: var(--verde); color: #fff; }
.enx-g-chip input:focus-visible + span { outline: 3px solid var(--acento); outline-offset: 2px; }
body.enx-interior .enx-g-limpiar { font-size: 14px; font-weight: 600; align-self: center; }
.enx-g-cols { display: grid; gap: 28px; }
.enx-g-res, .enx-g-lado { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.enx-g-resumen { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; }
.enx-g-resumen h2, .enx-g-ficha h2 { margin: 0; font-family: var(--titular); font-weight: 800; font-size: 22px; color: var(--tinta); }
.enx-g-aviso { font-family: var(--mono); font-size: 12px; color: var(--ambar); background: #F6ECD3; padding: 3px 8px; border-radius: 6px; }
.enx-g-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
body.enx-interior a.enx-g-tarjeta { display: flex; flex-direction: column; gap: 12px; background: #fff; border: 1px solid var(--borde); border-radius: 16px; padding: 16px; color: var(--tinta); text-decoration: none; }
body.enx-interior a.enx-g-tarjeta:hover { border-color: var(--verde); }
.enx-g-cab { display: flex; gap: 12px; align-items: center; min-width: 0; }
.enx-g-avatar { width: 52px; height: 52px; border-radius: 50%; background: var(--menta-2); color: var(--verde); display: inline-flex; align-items: center; justify-content: center; font-family: var(--titular); font-weight: 800; font-size: 18px; flex-shrink: 0; overflow: hidden; }
.enx-g-avatar img { width: 100%; height: 100%; object-fit: cover; }
.enx-g-avatar-xl { width: 104px; height: 104px; font-size: 36px; border: 3px solid var(--acento); }
.enx-g-nom { display: flex; flex-direction: column; min-width: 0; }
.enx-g-nom strong { font-family: var(--titular); font-weight: 800; font-size: 17px; line-height: 1.2; }
.enx-g-nom span { font-size: 14px; color: var(--gris-2); }
.enx-g-pie { display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid #E6EAE7; padding-top: 10px; font-size: 13px; color: var(--gris); }
.enx-g-periodo { font-family: var(--mono); color: var(--gris-2); white-space: nowrap; }
.enx-g-sit { align-self: flex-start; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: #ECEDEA; color: #4A4F4C; }
.enx-g-sit.enx-g-vig { background: #E1F0E6; color: #1E6B45; }
.enx-g-vacio { background: #fff; border: 1px dashed #C5D2CB; border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 6px; }
.enx-g-vacio strong { font-family: var(--titular); font-size: 19px; }
.enx-g-vacio span { color: var(--gris); }
.enx-g-caja { background: #fff; border: 1px solid var(--borde); border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.enx-g-caja h3 { margin: 0; font-family: var(--titular); font-weight: 800; font-size: 17px; }
.enx-g-caja p { margin: 0; }
.enx-g-cob > div:first-child { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; }
.enx-g-barra { height: 6px; background: var(--menta-2); margin-top: 4px; }
.enx-g-barra i { display: block; height: 6px; background: var(--verde-link); }
.enx-g-reporte form { display: flex; flex-direction: column; gap: 6px; }
.enx-g-reporte label { font-size: 13px; font-weight: 700; }
.enx-g-reporte select, .enx-g-reporte textarea, .enx-g-reporte input[type=text], .enx-g-reporte input[type=email] { width: 100%; border: 1px solid #C5D2CB; border-radius: 10px; padding: 8px 10px; font-family: var(--texto); font-size: 15px; background: #fff; color: var(--tinta); }
.enx-g-reporte .enx-boton { align-self: flex-start; }
.enx-g-ok { background: #E1F0E6; color: #1E6B45; padding: 8px 10px; border-radius: 8px; font-weight: 600; }
.enx-g-hero { display: flex; gap: 22px; align-items: center; }
.enx-g-hero-t { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.enx-g-hero h1 { margin: 0; }
.enx-g-hero-meta { margin: 0; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; color: var(--menta); font-size: 15px; }
.enx-g-ficha section { display: flex; flex-direction: column; gap: 10px; }
.enx-g-ficha section p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--gris-2); }
.enx-g-linea { list-style: none; margin: 0 0 0 8px; padding: 0; border-left: 3px solid var(--borde); display: flex; flex-direction: column; }
.enx-g-linea li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; padding: 12px 12px 12px 18px; }
.enx-g-linea li > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.enx-g-linea li.enx-g-actual { background: #fff; border: 1px solid var(--borde); border-radius: 12px; }
body.enx-interior .enx-g-linea a { text-decoration: none; color: var(--tinta); }
.enx-g-linea strong { font-family: var(--titular); font-weight: 800; font-size: 16px; }
.enx-g-notas { display: grid; gap: 10px; }
body.enx-interior .enx-g-notas a { background: #fff; border: 1px solid var(--borde); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; text-decoration: none; color: var(--tinta); }
.enx-g-dl { margin: 0; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 8px 12px; font-size: 15px; }
.enx-g-dl dt { font-weight: 700; } .enx-g-dl dd { margin: 0; color: var(--gris-2); }
.enx-g-fuentes { margin: 0; padding-left: 18px; font-size: 14px; display: flex; flex-direction: column; gap: 6px; }
.enx-g-consulta { font-family: var(--mono); font-size: 12px; color: var(--gris); }
@media (min-width: 1000px) {
  .enx-g-cols { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 36px; }
  .enx-g-notas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .enx-g-hero { flex-direction: column; align-items: flex-start; }
  .enx-g-avatar-xl { width: 84px; height: 84px; font-size: 28px; }
  .enx-g-linea li { grid-template-columns: 1fr; gap: 4px; }
  .enx-g-campo, .enx-g-campo select { width: 100%; }
}

/* Menú principal: con 8 secciones cabe en una línea desde 1000 px */
.enx-w.enx-a1000 .enx-nav, .enx-w.enx-a1000 .enx-nav.enx-abierta { gap: 16px; }
.enx-w.enx-a1000 .enx-nav a, .enx-w.enx-a1000 .enx-nav.enx-abierta a { font-size: 14.5px; white-space: nowrap; }
.enx-g-cob > div:first-child strong { white-space: nowrap; }
.enx-g-cob small { display: block; font-size: 12px; color: var(--gris); }

/* Páginas institucionales */
body.enx-interior main.enx-inst { padding-top: 28px; padding-bottom: 48px; }
.enx-inst-banda .enx-bajada { max-width: 760px; }
.enx-w .enx-inst-texto { max-width: 760px; }
.enx-w .enx-inst-texto .enx-gris { color: var(--gris, #6B6B6B); font-family: var(--sans, inherit); }

/* Tipografías globales de Elementor → las de ENFEMEX (Elementor ya no descarga Roboto ni Roboto Slab) */
body[class*="elementor-kit-"] {
  --e-global-typography-primary-font-family: 'Archivo';
  --e-global-typography-secondary-font-family: 'Newsreader';
  --e-global-typography-text-font-family: 'Source Sans 3';
  --e-global-typography-accent-font-family: 'Source Sans 3';
}
