/* Siopea: estilos del tema hijo de Kadence. Tipografía: IBM Plex Sans + IBM Plex Mono (licencia OFL, en assets/fuentes).
   Copian el diseño de la página original de fluxbrl.com. Todo lo del diseño actúa solo dentro
   de un bloque con la clase "fx" (los patrones ya la traen), para no chocar con Kadence. */

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url('../fuentes/plex-sans.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url('../fuentes/plex-sans-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fuentes/plex-mono-500.woff2') format('woff2');
}

:root {
  --fx-azul: #11294A;
  --fx-azul-profundo: #0B1D36;
  --fx-turquesa: #1CAFA8;
  --fx-turquesa-claro: #5FD3CB;
  --fx-verde: #007A6A;
  --fx-verde-oscuro: #00594D;
  --fx-naranja: #F3923C;
  --fx-celeste: #7FA6D6;
  --fx-tinta: #0F172A;
  --fx-texto: #3B4A60;
  --fx-texto-suave: #5B6B82;
  --fx-texto-sobre-azul: #C5D3E6;
  --fx-linea: #DCE3EC;
  --fx-fondo-suave: #F5F7FA;
  --fx-radio: 12px;
  --fx-sombra: 0 14px 34px rgba(16, 41, 74, 0.12);
  --fx-ancho: 1180px;
}

/* Fuente de todo el sitio (cabecera y pie de Kadence incluidos), servida desde el tema */
html body { font-family: 'IBM Plex Sans', -apple-system, 'Segoe UI', Roboto, sans-serif; -webkit-font-smoothing: antialiased; }
html { scroll-padding-top: 84px; }

/* ---------- Base dentro de .fx ---------- */
.fx { color: var(--fx-texto); font-size: 17px; line-height: 1.6; text-rendering: optimizeLegibility; }
.fx *, .fx *::before, .fx *::after { box-sizing: border-box; }

/* Kadence y WordPress agregan márgenes a los bloques; aquí los controla el diseño */
.fx h1, .fx h2, .fx h3, .fx p, .fx figure, .fx ul { margin: 0; }
.fx .is-layout-flow > *, .fx .is-layout-constrained > *, .fx.is-layout-flow > * { margin-block-start: 0; margin-block-end: 0; }
.fx .wp-block-image { margin: 0; }
/* Si el tema padre no usa theme.json, WordPress envuelve el interior de cada Grupo en
   .wp-block-group__inner-container. Con display: contents, las grillas funcionan igual con o sin ese envoltorio. */
.fx .wp-block-group__inner-container { display: contents; }
.fx.alignfull, .fx .alignfull { margin-top: 0; margin-bottom: 0; }

.fx img { max-width: 100%; height: auto; display: block; }
.fx h1, .fx h2, .fx h3 { color: var(--fx-azul); font-family: inherit; line-height: 1.15; letter-spacing: -0.015em; text-wrap: balance; }
.fx p { text-wrap: pretty; }
.fx a { color: var(--fx-verde); }
.fx a:hover { color: var(--fx-verde-oscuro); }
.fx :focus-visible { outline: 3px solid var(--fx-turquesa); outline-offset: 3px; border-radius: 4px; }

.fx .contenedor { width: 100%; max-width: var(--fx-ancho); margin-left: auto; margin-right: auto; padding: 0 24px; }
@media (max-width: 600px) { .fx .contenedor { padding: 0 16px; } }

.fx .antetitulo {
  font-family: 'IBM Plex Mono', ui-monospace, Menlo, monospace;
  font-size: 13px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--fx-verde); margin-bottom: 14px;
}
.fx .antetitulo--claro { color: var(--fx-turquesa-claro); }
.fx .antetitulo--acento { color: var(--fx-naranja); margin-bottom: 6px; }

/* ---------- Botones (bloque Botones de WordPress con la clase fx-boton) ---------- */
.fx .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.fx .fx-boton .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 42px; padding: 0 18px; border-radius: 10px;
  font-family: inherit; font-weight: 600; font-size: 15px; line-height: 1.2; text-decoration: none; white-space: nowrap;
  border: 1.5px solid transparent; box-shadow: none;
  transition: background-color .15s, color .15s, border-color .15s;
}
.fx .fx-boton--grande .wp-block-button__link { min-height: 50px; padding: 0 24px; font-size: 16px; }
.fx .fx-boton--primario .wp-block-button__link { background: var(--fx-verde); color: #FFFFFF; }
.fx .fx-boton--primario .wp-block-button__link:hover { background: var(--fx-verde-oscuro); color: #FFFFFF; }
.fx .fx-boton--borde .wp-block-button__link { border-color: var(--fx-linea); color: var(--fx-azul); background: #FFFFFF; }
.fx .fx-boton--borde .wp-block-button__link:hover { border-color: var(--fx-azul); color: var(--fx-azul); }
.fx .fx-boton--claro .wp-block-button__link { border-color: rgba(255, 255, 255, 0.45); color: #FFFFFF; background: transparent; }
.fx .fx-boton--claro .wp-block-button__link:hover { border-color: #FFFFFF; background: rgba(255, 255, 255, 0.08); color: #FFFFFF; }
.fx .portada .fx-boton--primario .wp-block-button__link { background: var(--fx-turquesa); color: var(--fx-azul-profundo); }
.fx .portada .fx-boton--primario .wp-block-button__link:hover { background: var(--fx-turquesa-claro); color: var(--fx-azul-profundo); }

/* ---------- Portada ---------- */
.fx .portada {
  position: relative; overflow: hidden;
  background: var(--fx-azul); color: #FFFFFF;
  padding: clamp(56px, 9vw, 104px) 0 0;
}
.fx .portada__trazos {
  position: absolute; top: 0; right: 0; width: min(56vw, 640px); height: auto;
  fill: none; stroke-linecap: round; pointer-events: none;
}
.fx .portada__texto { position: relative; }
.fx .portada h1 {
  max-width: 1000px; color: #FFFFFF;
  font-size: clamp(36px, 5.6vw, 62px); font-weight: 800; line-height: 1.05; letter-spacing: -0.03em;
}
.fx .portada h1 .fx-acento, .fx .portada h1 mark { color: var(--fx-turquesa); background: transparent; }
.fx .portada__bajada { max-width: 820px; margin-top: 22px; font-size: clamp(17px, 1.6vw, 20px); color: var(--fx-texto-sobre-azul); }
.fx .portada__acciones { margin-top: 32px; }
/* v1.3.4: en computador el título corta después de "XBRL," en vez de equilibrar las líneas */
@media (min-width: 900px) { .fx .portada h1 { text-wrap: wrap; } }
.fx .portada__captura { position: relative; margin-top: clamp(40px, 6vw, 64px); margin-bottom: -1px; }
.fx .portada__captura img {
  width: 100%; height: auto;
  border-radius: var(--fx-radio) var(--fx-radio) 0 0;
  border: 1px solid rgba(255, 255, 255, 0.16); border-bottom: 0;
  box-shadow: 0 -10px 60px rgba(2, 10, 24, 0.45);
}

/* ---------- Destacados ---------- */
.fx .destacados { background: var(--fx-azul-profundo); padding: 36px 0; }
.fx .destacados__grilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.fx .destacado { border-top: 3px solid var(--fx-turquesa); padding-top: 14px; }
.fx .destacado--acento { border-top-color: var(--fx-naranja); }
.fx .destacado h2 { color: #FFFFFF; font-size: 17px; font-weight: 700; letter-spacing: -0.01em; }
.fx .destacado p { margin-top: 6px; font-size: 15px; line-height: 1.5; color: var(--fx-texto-sobre-azul); }
@media (max-width: 760px) { .fx .destacados__grilla { grid-template-columns: 1fr; gap: 22px; } }

/* ---------- Secciones ---------- */
.fx .seccion { padding: clamp(64px, 9vw, 112px) 0; }
.fx .seccion--suave { background: var(--fx-fondo-suave); }
.fx .seccion--oscura { background: var(--fx-azul); color: var(--fx-texto-sobre-azul); }
.fx .seccion--oscura h2, .fx .seccion--oscura h3 { color: #FFFFFF; }
.fx .seccion__titulo { max-width: 720px; font-size: clamp(30px, 3.8vw, 44px); font-weight: 800; }
.fx .seccion__bajada { max-width: 720px; margin-top: 18px; font-size: 18px; }
.fx .subtitulo { font-size: 21px; font-weight: 700; letter-spacing: -0.01em; }

.fx .captura img {
  width: 100%; height: auto; border-radius: var(--fx-radio); border: 1px solid #D5DDE8;
  background: #FFFFFF; box-shadow: var(--fx-sombra);
}

/* ---------- Pasos ---------- */
.fx .paso {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(28px, 5vw, 64px); align-items: center; margin-top: clamp(48px, 7vw, 80px);
}
.fx .paso--invertido .paso__texto { order: 2; }
.fx .paso__numero { display: block; font-size: 30px; font-weight: 800; color: var(--fx-verde); letter-spacing: -0.02em; line-height: 1.2; margin-bottom: 10px; }
.fx .paso h3 { font-size: clamp(22px, 2.4vw, 28px); font-weight: 700; }
.fx .paso h3 + p { margin-top: 12px; }
@media (max-width: 860px) {
  .fx .paso { grid-template-columns: 1fr; }
  .fx .paso--invertido .paso__texto { order: 0; }
}

/* ---------- Trabajo en equipo ---------- */
.fx .figuras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 48px; align-items: start; }
.fx .figuras figcaption { margin: 12px 0 0; font-size: 15px; line-height: 1.5; color: var(--fx-texto-suave); text-align: left; }
@media (max-width: 860px) { .fx .figuras { grid-template-columns: 1fr; } }

.fx .subtitulo--roles { margin-top: 64px; }
.fx .roles { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.fx .rol {
  background: #FFFFFF; border: 1px solid var(--fx-linea); border-radius: var(--fx-radio);
  padding: 18px; display: flex; flex-direction: column; gap: 6px;
}
.fx .rol strong { color: var(--fx-azul); font-size: 16px; }
.fx .rol p + p { font-size: 15px; line-height: 1.5; }
@media (max-width: 960px) { .fx .roles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .fx .roles { grid-template-columns: 1fr; } }

.fx .historial {
  margin-top: 64px;
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(28px, 5vw, 64px); align-items: center;
}
.fx .historial__texto p { margin-top: 12px; }
@media (max-width: 860px) { .fx .historial { grid-template-columns: 1fr; } }

/* ---------- Por qué ---------- */
.fx .razones { margin-top: 48px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 56px; }
.fx .razon__icono {
  display: block; width: 30px; height: 30px; fill: none; stroke: var(--fx-turquesa); stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round;
}
.fx .razon h3 { margin-top: 12px; font-size: 20px; font-weight: 700; letter-spacing: -0.01em; }
.fx .razon p { margin-top: 8px; font-size: 16px; }
@media (max-width: 760px) { .fx .razones { grid-template-columns: 1fr; gap: 32px; } }

.fx .ademas { margin-top: 56px; padding-top: 32px; border-top: 1px solid rgba(255, 255, 255, 0.16); max-width: 560px; }
.fx .ademas h3 { font-size: 18px; font-weight: 700; }
.fx .ademas h3 + p { margin-top: 6px; font-size: 16px; }

/* ---------- Demo ---------- */
.fx .demo { padding: clamp(56px, 8vw, 96px) 16px; }
.fx .demo__caja {
  max-width: calc(var(--fx-ancho) - 48px);
  padding: clamp(32px, 5vw, 56px);
  background: #E8F6F4; border: 1px solid #C7EAE5; border-radius: 20px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px;
}
.fx .demo h2 { font-size: clamp(28px, 3.4vw, 40px); font-weight: 800; }
.fx .demo__texto p { margin-top: 10px; font-size: 18px; }
.fx .demo__acciones { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.fx .demo__correo a { font-weight: 600; }

/* ---------- Página 404 y textos generales ---------- */
.fx .fx-404 { padding: clamp(64px, 9vw, 112px) 0; }
.fx .fx-404 p { margin-top: 18px; }
.fx .fx-404 .wp-block-buttons { margin-top: 32px; }

/* ---------- v1.1: páginas de demo, gracias y quién está detrás ---------- */
.fx .fx-pagina { padding: clamp(56px, 8vw, 96px) 0; }
.fx .fx-acciones { margin-top: 32px; }
.fx .fx-demo-pagina { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.fx .fx-demo-pagina h1 { font-size: clamp(32px, 4.2vw, 48px); font-weight: 800; }
.fx .fx-demo-pagina__pasos-titulo { margin-top: 36px; }
.fx .fx-pasos { margin: 14px 0 0; padding-left: 1.3em; display: grid; gap: 8px; }
.fx .fx-pasos li { margin: 0; }
.fx .fx-demo-pagina__correo { margin-top: 28px; }
.fx .fx-demo-pagina__correo a { font-weight: 600; }
.fx .fx-formulario {
  background: #FFFFFF; border: 1px solid var(--fx-linea); border-radius: 16px;
  padding: clamp(24px, 3vw, 36px); box-shadow: var(--fx-sombra);
}
.fx .fx-formulario input, .fx .fx-formulario select, .fx .fx-formulario textarea { font-family: inherit; }
@media (max-width: 860px) { .fx .fx-demo-pagina { grid-template-columns: 1fr; } }
.fx .fx-equipo { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 32px; max-width: 760px; }
@media (max-width: 520px) { .fx .fx-equipo { grid-template-columns: 1fr; } }

/* Notas para quien edita: se ven a propósito, para no olvidar borrarlas antes de publicar */
.fx-nota-editor, .fx .fx-nota-editor, .fx-formulario__aviso {
  margin-top: 24px; padding: 12px 16px; border-radius: 8px;
  background: #FFF7E0; border: 1px dashed #D99A00; color: #6B4A00; font-size: 15px; line-height: 1.5;
}

/* ---------- v1.2: páginas Visor XBRL y Otros reportes, Para quién y preguntas frecuentes ---------- */
.fx .seccion--oscura a { color: var(--fx-turquesa-claro); }
.fx .seccion--oscura a:hover { color: #FFFFFF; }
.fx .ademas h3 a { color: #FFFFFF; text-decoration: none; }
.fx .ademas h3 a:hover { text-decoration: underline; }
.fx .ademas__enlace { margin-top: 12px; font-weight: 600; }

/* Portada de una página interior: sin captura abajo, así que necesita su propio espacio inferior */
.fx .portada--pagina { padding-bottom: clamp(56px, 8vw, 96px); }
.fx .portada__nota { margin-top: 14px; font-size: 14px; color: var(--fx-texto-sobre-azul); }

/* Tarjetas genéricas (pasos de la página y preguntas) */
.fx .fx-tarjeta, .fx .fx-faq__item {
  background: #FFFFFF; border: 1px solid var(--fx-linea); border-radius: var(--fx-radio); padding: 24px;
}
.fx .fx-pasos-grilla { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.fx .fx-tarjeta h3 { font-size: 20px; font-weight: 700; letter-spacing: -0.01em; }
.fx .fx-tarjeta p + p, .fx .fx-tarjeta h3 + p { margin-top: 8px; font-size: 16px; }
@media (max-width: 860px) { .fx .fx-pasos-grilla { grid-template-columns: 1fr; } }

/* Para quién */
.fx .fx-tipos { margin-top: 32px; }
.fx .fx-tipos .rol p + p { color: var(--fx-texto-suave); }

/* Preguntas frecuentes */
.fx .fx-faq { margin-top: 40px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.fx .fx-faq__item h3 { font-size: 18px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; }
.fx .fx-faq__item p { margin-top: 8px; font-size: 16px; line-height: 1.55; }
@media (max-width: 760px) { .fx .fx-faq { grid-template-columns: 1fr; } }

/* Dos columnas de texto (Visor) */
.fx .fx-dos-columnas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 5vw, 64px); align-items: start; }
.fx .fx-columna p { margin-top: 12px; }
.fx .fx-columna__siguiente { margin-top: 36px; }
@media (max-width: 860px) { .fx .fx-dos-columnas { grid-template-columns: 1fr; } }

/* Lista con marca de verificación */
.fx .fx-lista-check { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.fx .fx-lista-check li { position: relative; margin: 0; padding-left: 30px; }
.fx .fx-lista-check li::before {
  content: ""; position: absolute; left: 0; top: 0.3em; width: 18px; height: 18px; border-radius: 50%;
  background: var(--fx-verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 12px no-repeat;
}

/* Textos sueltos */
.fx .fx-texto .seccion__bajada { max-width: 760px; }
.fx .demo__otros { font-size: 15px; }
.fx .fx-gracias__titulo { margin-top: 40px; }

/* ---------- v1.3: diseño del lienzo (dolores, objeciones, países, ejemplo XBRL) ---------- */
/* ¿Te suena alguna de estas? */
.fx .fx-dolores { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.fx .fx-dolor {
  background: #FFFFFF; border: 1px solid var(--fx-linea); border-left: 4px solid var(--fx-naranja);
  border-radius: var(--fx-radio); padding: 24px; display: flex; flex-direction: column; gap: 12px;
}
.fx .fx-dolor h3 { font-size: 19px; font-weight: 700; line-height: 1.35; letter-spacing: -0.01em; color: var(--fx-azul); }
.fx .fx-dolor p { font-size: 16px; line-height: 1.55; }
.fx .fx-dolor strong { color: var(--fx-verde); }
@media (max-width: 860px) { .fx .fx-dolores { grid-template-columns: 1fr; } }

/* Antes de decidir: objeciones con su respuesta */
.fx .fx-objeciones { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.fx .fx-objeciones--una { grid-template-columns: 1fr; margin-top: 24px; }
.fx .fx-objecion {
  background: #FFFFFF; border: 1px solid var(--fx-linea); border-radius: var(--fx-radio); padding: 24px;
  display: flex; flex-direction: column; gap: 8px;
}
.fx .fx-objecion h3 { font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--fx-azul); }
.fx .fx-objecion p { font-size: 16px; line-height: 1.55; }
.fx .fx-objecion .fx-nota-editor { margin-top: 4px; font-size: 13px; padding: 6px 10px; }
@media (max-width: 960px) { .fx .fx-objeciones { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .fx .fx-objeciones { grid-template-columns: 1fr; } }
.fx .fx-objeciones--una { grid-template-columns: 1fr !important; }

/* Hoy en Chile · próximamente otros países */
.fx .fx-paises { padding: 0 16px clamp(56px, 8vw, 80px); }
.fx .fx-paises__caja {
  max-width: calc(var(--fx-ancho) - 48px); padding: 24px 28px;
  border: 1px solid var(--fx-linea); border-radius: 14px; background: #FFFFFF;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px;
}
.fx .fx-paises__texto { flex: 1 1 520px; }
.fx .fx-paises .antetitulo { margin-bottom: 6px; }
.fx .fx-paises__linea { font-size: 17px; line-height: 1.5; color: var(--fx-azul); }

/* Visor: una cifra en XBRL y la misma cifra en el visor */
.fx .fx-xbrl-ejemplo { margin: 32px 0 0; max-width: 720px; display: grid; gap: 10px; }
.fx .fx-xbrl-ejemplo__codigo {
  margin: 0; padding: 18px 20px; border-radius: var(--fx-radio); background: var(--fx-azul-profundo); color: #C5D3E6;
  font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 14px; line-height: 1.6; overflow-x: auto; white-space: pre;
}
.fx .fx-xbrl-ejemplo__flecha { text-align: center; font-size: 22px; color: var(--fx-turquesa); }
.fx .fx-xbrl-ejemplo__tabla {
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding: 16px 20px; border: 1px solid var(--fx-linea); border-radius: var(--fx-radio); background: #FFFFFF; color: var(--fx-azul);
}
.fx .fx-xbrl-ejemplo__tabla strong { font-variant-numeric: tabular-nums; }
/* Con 4 objeciones, dos columnas para que no quede una sola abajo */
@media (min-width: 621px) { .fx .fx-objeciones:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- v1.3.1: tipografía IBM Plex Sans y cabecera ---------- */
/* Plex Sans llega hasta 700: los títulos usan 700 */
.fx h1, .fx h2, .fx .seccion__titulo, .fx .demo h2 { font-weight: 700; }
/* Menú principal de Kadence: más presencia y un subrayado verde al pasar o en la página actual */
.site-header .header-navigation .menu > li > a {
  font-family: 'IBM Plex Sans', sans-serif; font-size: 15px; font-weight: 500; color: #11294A; letter-spacing: 0;
  position: relative; padding-left: 14px; padding-right: 14px;
}
.site-header .header-navigation .menu > li > a::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 6px; height: 2px; border-radius: 2px;
  background: #1CAFA8; transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
.site-header .header-navigation .menu > li > a:hover, .site-header .header-navigation .menu > li.current-menu-item:not(.menu-item-type-custom) > a { color: #007A6A; }
.site-header .header-navigation .menu > li > a:hover::after, .site-header .header-navigation .menu > li.current-menu-item:not(.menu-item-type-custom) > a::after { transform: scaleX(1); }
.site-header .header-button { font-family: 'IBM Plex Sans', sans-serif; font-weight: 600; letter-spacing: 0; box-shadow: 0 6px 16px -8px rgba(0, 122, 106, .6); }
.site-main-header-wrap .site-header-row-container-inner { border-bottom: 1px solid #E6ECF2; }
/* Más que XBRL para la CMF: cuatro capacidades */
.fx .fx-capacidades { margin-top: 40px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.fx .fx-capacidad { background: #FFFFFF; border: 1px solid var(--fx-linea); border-top: 3px solid var(--fx-turquesa); border-radius: var(--fx-radio); padding: 22px; }
.fx .fx-capacidad h3 { font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--fx-azul); }
.fx .fx-capacidad p { margin-top: 8px; font-size: 15.5px; line-height: 1.55; }
.fx .fx-subtitulo--espacio { margin-top: 56px; }
@media (max-width: 1000px) { .fx .fx-capacidades { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .fx .fx-capacidades { grid-template-columns: 1fr; } }

/* ---------- v1.3.2: página Otros reportes rediseñada ---------- */
/* Portada en dos columnas: texto a la izquierda, mapa de reportes a la derecha */
.fx .fx-hero-dos { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 64px); align-items: center; }
.fx .fx-hero-dos h1 { font-size: clamp(34px, 4.6vw, 54px); }
.fx .fx-mapa {
  background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 16px;
  padding: 22px; backdrop-filter: blur(2px); box-shadow: 0 24px 60px -24px rgba(2, 10, 24, 0.6);
}
.fx .fx-mapa__titulo { font-family: 'IBM Plex Mono', monospace; font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fx-turquesa-claro); }
.fx .fx-mapa__lista { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.fx .fx-mapa__lista li {
  display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 12px;
  background: #FFFFFF; border-radius: 10px; padding: 11px 14px; margin: 0;
}
.fx .fx-mapa__lista strong { color: var(--fx-azul); font-size: 15px; font-weight: 600; }
.fx .fx-mapa__lista small { color: var(--fx-texto-suave); font-size: 13px; white-space: nowrap; }
.fx .fx-mapa__punto { width: 10px; height: 10px; border-radius: 50%; background: var(--fx-turquesa); }
.fx .fx-mapa__punto--verde { background: var(--fx-verde); }
.fx .fx-mapa__punto--naranja { background: var(--fx-naranja); }
.fx .fx-mapa__punto--celeste { background: var(--fx-celeste); }
.fx .fx-mapa__flujo { margin-top: 16px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.fx .fx-mapa__flujo span {
  position: relative; text-align: center; font-size: 13px; font-weight: 600; color: #FFFFFF;
  background: rgba(27, 175, 167, 0.22); border: 1px solid rgba(95, 211, 203, 0.45); border-radius: 999px; padding: 6px 4px;
}
@media (max-width: 900px) { .fx .fx-hero-dos { grid-template-columns: 1fr; } .fx .fx-mapa { max-width: 520px; } }

/* Cuatro familias de reportes: tarjetas grandes con ícono, texto, chips y enlace */
.fx .fx-reportes { margin-top: 44px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.fx .fx-reporte {
  --fx-reporte-color: var(--fx-turquesa);
  position: relative; display: flex; flex-direction: column; background: #FFFFFF;
  border: 1px solid var(--fx-linea); border-radius: 16px; padding: 30px; overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
}
.fx .fx-reporte::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--fx-reporte-color); }
.fx .fx-reporte:hover { box-shadow: var(--fx-sombra); transform: translateY(-2px); }
.fx .fx-reporte--verde { --fx-reporte-color: var(--fx-verde); }
.fx .fx-reporte--naranja { --fx-reporte-color: var(--fx-naranja); }
.fx .fx-reporte--celeste { --fx-reporte-color: var(--fx-celeste); }
.fx .fx-reporte__icono {
  width: 48px; height: 48px; padding: 11px; border-radius: 12px; box-sizing: border-box;
  fill: none; stroke: var(--fx-reporte-color); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  background: color-mix(in srgb, var(--fx-reporte-color) 12%, #FFFFFF);
}
.fx .fx-reporte h3 { margin-top: 18px; font-size: 22px; font-weight: 700; }
.fx .fx-reporte h3 + p { margin-top: 10px; font-size: 16px; line-height: 1.6; }
.fx .fx-chips { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fx .fx-chips li {
  margin: 0; font-size: 13.5px; font-weight: 600; color: var(--fx-azul); line-height: 1.2;
  background: var(--fx-fondo-suave); border: 1px solid var(--fx-linea); border-radius: 999px; padding: 6px 12px;
}
.fx .fx-reporte__enlace { margin-top: auto; padding-top: 22px; font-size: 15px; font-weight: 600; }
.fx .fx-reporte__enlace a { text-decoration: none; }
.fx .fx-reporte__enlace a::after { content: " →"; }
.fx .fx-reporte__enlace a:hover { text-decoration: underline; }
@media (max-width: 760px) { .fx .fx-reportes { grid-template-columns: 1fr; } .fx .fx-reporte { padding: 24px; } }

/* El mismo flujo: cuatro pasos unidos por una línea, sobre fondo azul */
.fx .fx-flujo { margin-top: 48px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; position: relative; }
.fx .fx-flujo::before {
  content: ""; position: absolute; top: 17px; left: 8%; right: 8%; height: 2px;
  background: linear-gradient(90deg, var(--fx-turquesa), var(--fx-celeste));
  opacity: .55;
}
.fx .fx-flujo__paso { position: relative; }
.fx .fx-flujo__etiqueta {
  display: inline-block; position: relative; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--fx-azul-profundo);
  background: var(--fx-turquesa); border-radius: 999px; padding: 8px 16px;
}
.fx .fx-flujo__paso h3 { margin-top: 20px; font-size: 19px; font-weight: 700; }
.fx .fx-flujo__paso h3 + p { margin-top: 8px; font-size: 15.5px; line-height: 1.6; color: var(--fx-texto-sobre-azul); }
@media (max-width: 900px) {
  .fx .fx-flujo { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
  .fx .fx-flujo::before { display: none; }
}
@media (max-width: 520px) { .fx .fx-flujo { grid-template-columns: 1fr; } }

/* Cómo trabajamos: línea de tiempo de tres hitos */
.fx .fx-linea-tiempo { margin-top: 44px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; position: relative; }
.fx .fx-linea-tiempo::before { content: ""; position: absolute; top: 26px; left: 26px; right: 16%; height: 2px; background: var(--fx-linea); }
.fx .fx-hito { position: relative; }
.fx .fx-hito__numero {
  position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%;
  background: #FFFFFF; border: 2px solid var(--fx-verde); color: var(--fx-verde); font-size: 17px; font-weight: 700;
}
.fx .fx-hito h3 { margin-top: 18px; font-size: 19px; font-weight: 700; }
.fx .fx-hito h3 + p { margin-top: 8px; font-size: 16px; }
@media (max-width: 760px) {
  .fx .fx-linea-tiempo { grid-template-columns: 1fr; gap: 24px; }
  .fx .fx-linea-tiempo::before { top: 26px; bottom: 26px; left: 25px; right: auto; width: 2px; height: auto; }
  .fx .fx-hito { padding-left: 72px; }
  .fx .fx-hito__numero { position: absolute; left: 0; top: 0; }
  .fx .fx-hito h3 { margin-top: 12px; }
}

/* ---------- v1.4: ritmo vertical parejo en todas las páginas ---------- */
.fx { --fx-ritmo: clamp(32px, 4vw, 48px); }
/* 1. Del título (o la bajada) al contenido: siempre la misma distancia */
.fx .fx-dolores, .fx .fx-faq, .fx .fx-objeciones, .fx .fx-capacidades,
.fx .fx-pasos-grilla, .fx .fx-reportes, .fx .fx-linea-tiempo, .fx .fx-flujo,
.fx .fx-tipos, .fx .figuras, .fx .razones, .fx .fx-xbrl-ejemplo { margin-top: var(--fx-ritmo); }
.fx .seccion__titulo + .paso, .fx .seccion__bajada + .paso { margin-top: var(--fx-ritmo); }
/* 2. Mismo espacio entre tarjetas en todas las grillas */
.fx .fx-dolores, .fx .fx-faq, .fx .fx-objeciones, .fx .fx-capacidades,
.fx .fx-pasos-grilla, .fx .fx-reportes { gap: 20px; }
/* 3. La línea "¿Presentas con otra taxonomía?" ya no queda pegada a las tarjetas */
.fx .fx-tipos__otra { margin-top: 28px; }
/* 4. Sin espacio doble entre dos bloques blancos seguidos (antes y después de la caja de demo) */
.fx .seccion:not(.seccion--suave):not(.seccion--oscura) + .demo { padding-top: 0; }
.fx .demo + .seccion:not(.seccion--suave):not(.seccion--oscura) { padding-top: 0; }
/* 5. Tarjetas de "Antes de decidir" con la misma altura en cada fila */
.fx .fx-objeciones { align-items: stretch; }

/* ---------- v1.4: selector de idioma (elemento "Idiomas" de Polylang en el menú) ---------- */
.header-navigation .menu > li.lang-item > a { padding: 6px 12px !important; margin-left: 6px; border: 1px solid #C9D3E0; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; line-height: 1; }
.header-navigation .menu > li.lang-item > a:hover { border-color: #1CAFA8; color: #1CAFA8; }
.header-navigation .menu > li.lang-item > a::after { display: none !important; }
.mobile-navigation .menu > li.lang-item > a { font-weight: 600; letter-spacing: 0.06em; }
/* v1.5.1: aire entre el menú, el selector de idioma y el botón "Pide una demo" */
.site-header-item-main-navigation { margin-right: 28px !important; }
.header-navigation .menu > li.lang-item { margin-left: 10px; padding-left: 18px; border-left: 1px solid #DCE3EC; align-self: center; }
