/* KONEXA: estilos del catálogo, la ficha, los formularios, la barra superior, el pie, el banner de
   cookies y los botones flotantes. Los colores salen de la paleta global de Kadence (Personalizar →
   Colores), así se cambian sin tocar este archivo. Pensado primero para celular y con contraste AA. */

.konexa-ficha [hidden],
.konexa-catalogo [hidden],
.konexa-lista [hidden],
.konexa-formulario [hidden],
.konexa-cookies[hidden],
.konexa-cookies [hidden] {
  display: none !important;
}
.konexa-solo-admin {
  font-size: 0.75rem;
  font-weight: 600;
  color: #b42318;
}
.konexa-aviso-admin {
  margin-bottom: 1.5rem;
  padding: 0.75rem 1rem;
  border: 1px dashed #b42318;
  border-radius: 8px;
  background: #fff6f5;
  font-size: 0.9rem;
}
.konexa-aviso-admin ul {
  margin: 0.25rem 0 0 1.25rem;
}

/* ---------- Botones ---------- */
.konexa-boton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.7rem 1.25rem;
  border: 2px solid var(--global-palette1, #1f3864);
  border-radius: 8px;
  background: var(--global-palette1, #1f3864);
  color: #fff !important;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
}
.konexa-boton:hover,
.konexa-boton:focus-visible {
  filter: brightness(1.15);
}
.konexa-boton-secundario {
  background: #fff;
  color: var(--global-palette1, #1f3864) !important;
}
.konexa-boton-secundario:hover {
  background: var(--global-palette7, #eef2f7);
  filter: none;
}
.konexa-boton-pequeno {
  min-height: 40px;
  padding: 0.5rem 0.9rem;
  font-size: 0.9rem;
}
/* Verde oscuro: el texto blanco contrasta 5,4 a 1 (AA). */
.konexa-boton-whatsapp {
  border-color: #0f7a3f;
  background: #0f7a3f;
}
.konexa-enlace {
  padding: 0;
  border: 0;
  background: none;
  color: var(--global-palette1, #1f3864);
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}

/* ---------- Formularios ---------- */
.konexa-formulario {
  display: grid;
  gap: 0.25rem;
  max-width: 600px;
}
.konexa-formulario p {
  margin: 0 0 0.5rem;
}
.konexa-formulario label {
  display: grid;
  gap: 0.35rem;
  font-weight: 600;
}
.konexa-formulario input[type="text"],
.konexa-formulario input[type="tel"],
.konexa-formulario input[type="email"],
.konexa-formulario select {
  width: 100%;
  min-height: 44px;
  padding: 0.6rem 0.75rem;
  border: 1px solid #8a94a6;
  border-radius: 8px;
  background: #fff;
  font-weight: 400;
}
.konexa-dos-columnas,
.konexa-celular {
  display: grid;
  gap: 0 1rem;
}
.konexa-celular {
  grid-template-columns: minmax(0, 8.5rem) minmax(0, 1fr);
  align-items: end;
  margin-bottom: 0.5rem;
}
@media (min-width: 600px) {
  .konexa-dos-columnas {
    grid-template-columns: 1fr 1fr;
  }
}
.konexa-autorizacion label {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  font-weight: 400;
  font-size: 0.9rem;
}
.konexa-autorizacion input {
  margin-top: 0.2rem;
}
.konexa-error {
  padding: 0.75rem 1rem;
  border-radius: 8px;
  background: #fdecec;
  color: #b42318;
}
.konexa-trampa {
  position: absolute !important;
  left: -9999px !important;
  height: 1px;
  overflow: hidden;
}
.konexa-contacto {
  margin-top: 2.5rem;
  padding: 1.5rem;
  border-radius: 12px;
  background: var(--global-palette7, #eef2f7);
  scroll-margin-top: 1rem;
}
.konexa-contacto h2 {
  margin-top: 0;
}

/* ---------- Catálogo ---------- */
.konexa-filtros {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
  margin-bottom: 0.5rem;
}
.konexa-buscador {
  display: grid;
  flex: 1 1 100%;
  gap: 0.4rem;
  font-weight: 600;
}
.konexa-buscador input,
.konexa-filtro select {
  min-height: 44px;
  padding: 0.6rem 0.9rem;
  border: 1px solid #8a94a6;
  border-radius: 8px;
  background: #fff;
  font-weight: 400;
}
.konexa-filtro {
  flex: 1 1 10rem;
}
.konexa-filtro select {
  width: 100%;
}
.konexa-conteo {
  font-size: 0.9rem;
  color: var(--global-palette5, #4b5563);
}
.konexa-tarjetas-programas {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap: 1rem;
  margin: 1rem 0 2rem;
  padding: 0;
  list-style: none;
}
.konexa-tarjeta-programa {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.1rem 1.1rem 1.25rem;
  border: 1px solid #dfe4ec;
  border-radius: 12px;
  background: #fff;
}
.konexa-tarjeta-programa p {
  margin: 0;
}
.konexa-tarjeta-institucion {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--global-palette5, #4b5563);
}
.konexa-tarjeta-titulo {
  margin: 0.15rem 0;
  font-size: 1.1rem;
  line-height: 1.3;
}
.konexa-tarjeta-titulo a {
  text-decoration: none;
}
.konexa-tarjeta-detalle,
.konexa-tarjeta-snies {
  font-size: 0.875rem;
  color: var(--global-palette5, #4b5563);
}
.konexa-tarjeta-precio {
  font-size: 0.95rem;
}
.konexa-tarjeta-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: auto;
  padding-top: 0.75rem;
}
.konexa-insignias {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.konexa-insignia {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background: var(--global-palette7, #eef2f7);
  color: var(--global-palette3, #1a1a1a);
  font-size: 0.8rem;
  font-weight: 600;
}
.konexa-insignia-promocion {
  background: #fff1cc;
  color: #6b4200;
}
.konexa-sin-resultados {
  padding: 1.25rem;
  border-radius: 12px;
  background: var(--global-palette8, #f5f6f8);
}
.konexa-buscador-portada {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  max-width: 640px;
}
.konexa-buscador-portada label {
  flex: 1 1 16rem;
}
.konexa-buscador-portada input {
  width: 100%;
  min-height: 48px;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: 8px;
  font-size: 1rem;
}
.konexa-portada .konexa-buscador-portada .konexa-boton {
  border-color: #fff;
  background: #fff;
  color: var(--global-palette1, #1f3864) !important;
}

/* Niveles con íconos */
.konexa-niveles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 1rem;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}
.konexa-nivel {
  display: grid;
  gap: 0.3rem;
  height: 100%;
  padding: 1.25rem;
  border: 1px solid #dfe4ec;
  border-radius: 12px;
  background: #fff;
  color: var(--global-palette3, #1a1a1a) !important;
  text-decoration: none !important;
}
.konexa-nivel:hover,
.konexa-nivel:focus-visible {
  border-color: var(--global-palette1, #1f3864);
  box-shadow: 0 2px 8px rgb(0 0 0 / 8%);
}
.konexa-nivel .konexa-icono {
  color: var(--global-palette1, #1f3864);
}
.konexa-nivel strong {
  font-size: 1.1rem;
}
.konexa-nivel span {
  font-size: 0.9rem;
  color: var(--global-palette5, #4b5563);
}
.konexa-nivel-conteo {
  font-weight: 600;
  color: var(--global-palette1, #1f3864) !important;
}

/* Instituciones */
.konexa-instituciones {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 1rem;
  padding: 0;
  list-style: none;
}
.konexa-institucion-tarjeta {
  padding: 1.25rem;
  border: 1px solid #dfe4ec;
  border-radius: 12px;
  background: #fff;
}
.konexa-institucion-tarjeta p {
  margin: 0.35rem 0;
}
.konexa-marca-texto {
  font-weight: 700;
  color: var(--global-palette1, #1f3864);
}
.konexa-logo-institucion {
  max-height: 64px;
  width: auto;
}
.konexa-institucion-marca {
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}
.konexa-institucion-datos {
  color: var(--global-palette5, #4b5563);
}
.konexa-aviso-aliado,
.konexa-aviso-legal,
.konexa-acreditacion,
.konexa-nota {
  font-size: 0.9rem;
  color: var(--global-palette5, #4b5563);
}
.konexa-aviso-aliado {
  padding: 0.75rem 1rem;
  border-left: 4px solid var(--global-palette2, #1d4ed8);
  background: var(--global-palette8, #f5f6f8);
}

/* ---------- Ficha del programa ---------- */
.konexa-ficha-resumen {
  display: grid;
  gap: 0.6rem;
  margin-bottom: 2rem;
  padding: 1.25rem;
  border: 1px solid #dfe4ec;
  border-radius: 12px;
  background: #fff;
}
.konexa-ficha-resumen p {
  margin: 0;
}
.konexa-ficha-institucion {
  font-size: 0.85rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.konexa-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.konexa-chips li {
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  background: var(--global-palette7, #eef2f7);
  font-size: 0.875rem;
  font-weight: 600;
}
.konexa-ficha-oficial {
  font-weight: 600;
}
.konexa-ficha-precio-valor {
  font-size: 1.15rem;
}
.konexa-ficha-sin-precio {
  font-weight: 600;
  color: var(--global-palette1, #1f3864);
}
.konexa-forma-pago {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  font-size: 0.9rem;
}
.konexa-promocion {
  padding: 0.75rem 1rem;
  border-radius: 8px;
  background: #fff8e5;
}
.konexa-ficha-acciones {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.4rem;
}
@media (min-width: 640px) {
  .konexa-ficha-acciones {
    grid-auto-flow: column;
    justify-content: start;
  }
}
.konexa-compartir {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.9rem;
  font-size: 0.875rem;
  color: var(--global-palette5, #4b5563);
}

.konexa-pestanas-lista {
  display: none;
}
.konexa-js .konexa-pestanas-lista {
  display: flex;
  gap: 0.25rem;
  overflow-x: auto;
  border-bottom: 2px solid #dfe4ec;
}
/* En el celular las pestañas se deslizan de lado, sin partirse en varias filas. */
@media (max-width: 600px) {
  .konexa-js .konexa-pestanas-lista {
    flex-wrap: nowrap;
    scroll-snap-type: x proximity;
  }
  .konexa-pestanas-lista button {
    padding: 0.6rem 0.75rem;
    font-size: 0.95rem;
    scroll-snap-align: start;
  }
}
.konexa-pestanas-lista button {
  flex: 0 0 auto;
  min-height: 44px;
  margin-bottom: -2px;
  padding: 0.6rem 1rem;
  border: 0;
  border-bottom: 3px solid transparent;
  background: none;
  color: var(--global-palette4, #2d3748);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.konexa-pestanas-lista button[aria-selected="true"] {
  border-bottom-color: var(--global-palette1, #1f3864);
  color: var(--global-palette1, #1f3864);
}
.konexa-panel {
  padding: 1.25rem 0;
}
.konexa-js .konexa-panel-titulo {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.konexa-datos-lista {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 0.75rem 1.5rem;
  margin: 0 0 1rem;
}
.konexa-datos-lista dt {
  font-size: 0.85rem;
  color: var(--global-palette5, #4b5563);
}
.konexa-datos-lista dd {
  margin: 0;
  font-weight: 600;
}
.konexa-requisitos {
  width: 100%;
  border-collapse: collapse;
}
.konexa-requisitos th,
.konexa-requisitos td {
  padding: 0.6rem;
  border-bottom: 1px solid #dfe4ec;
  text-align: left;
  vertical-align: top;
}
.konexa-relacionados {
  margin-top: 2.5rem;
}
.konexa-ficha-avisos {
  margin-top: 1.5rem;
}

/* Barra fija del celular (la ficha); en computador no se muestra. */
.konexa-barra-fija {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 55;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  padding: 0.6rem 0.75rem calc(0.6rem + env(safe-area-inset-bottom));
  background: #fff;
  box-shadow: 0 -2px 10px rgb(0 0 0 / 12%);
  transition: transform 0.2s;
}
.konexa-barra-oculta {
  transform: translateY(110%);
}
@media (min-width: 782px) {
  .konexa-barra-fija {
    display: none;
  }
}
@media (max-width: 781px) {
  .konexa-con-barra .site-footer {
    padding-bottom: 4.5rem;
  }
}

/* ---------- Ruta de navegación ---------- */
.konexa-migas ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin: 0 0 0.75rem;
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  color: var(--global-palette5, #4b5563);
}
.konexa-migas li + li::before {
  content: "›";
  margin-right: 0.25rem;
}

/* ---------- Barra superior y pie ---------- */
.konexa-barra-superior {
  background: var(--global-palette1, #1f3864);
  color: #fff;
  font-size: 0.85rem;
}
.konexa-barra-superior .site-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}
.konexa-barra-superior a {
  color: #fff;
}
.konexa-barra-superior .konexa-menu {
  display: flex;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 640px) {
  .konexa-barra-superior span {
    display: none;
  }
}
.konexa-pie {
  padding: 2.5rem 0 1rem;
  background: var(--global-palette8, #f5f6f8);
  font-size: 0.9rem;
}
.konexa-pie-columnas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 1.5rem;
}
.konexa-pie-titulo {
  margin: 0 0 0.5rem;
  font-weight: 700;
  color: var(--global-palette3, #1a1a1a);
}
.konexa-pie .konexa-menu {
  display: grid;
  gap: 0.35rem;
  margin: 0 0 0.5rem;
  padding: 0;
  list-style: none;
}

/* ---------- WhatsApp flotante ---------- */
.konexa-whatsapp-flotante {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 50;
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  min-height: 52px;
  padding: 0 1.1rem;
  border-radius: 999px;
  background: #0f7a3f;
  color: #fff !important;
  font-weight: 600;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgb(0 0 0 / 22%);
}
@media (max-width: 781px) {
  .konexa-whatsapp-flotante-texto {
    display: none;
  }
  .konexa-whatsapp-flotante {
    padding: 0 0.85rem;
  }
  .konexa-con-barra .konexa-whatsapp-flotante {
    display: none;
  }
}
/* El «volver arriba» de Kadence, a la izquierda, para no chocar con WhatsApp. */
#kt-scroll-up,
#kt-scroll-up-reader {
  right: auto !important;
  left: 1rem !important;
}

/* ---------- Banner de cookies ---------- */
.konexa-cookies {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  z-index: 60;
  max-width: 560px;
  padding: 1.1rem 1.25rem;
  border: 1px solid #dfe4ec;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(0 0 0 / 18%);
  font-size: 0.9rem;
}
.konexa-cookies p {
  margin: 0 0 0.6rem;
}
.konexa-cookies-opciones {
  display: grid;
  gap: 0.4rem;
  margin-bottom: 0.75rem;
}
.konexa-cookies-botones {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.5rem;
}

/* ---------- Lista por nivel (la del sitio anterior) ---------- */
.konexa-lista .konexa-buscador {
  max-width: 560px;
}
.konexa-grupo ul {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  border: 1px solid #dfe4ec;
  border-radius: 12px;
}
.konexa-fila {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem;
  border-top: 1px solid #dfe4ec;
}
.konexa-fila:first-child {
  border-top: 0;
}
.konexa-fila > div {
  display: grid;
  gap: 0.2rem;
}
.konexa-fila-nombre {
  font-weight: 600;
}
.konexa-fila-detalle {
  font-size: 0.85rem;
  color: var(--global-palette5, #4b5563);
}

/* ---------- Secciones de las páginas (bloque «Grupo» con estas clases) ---------- */
.konexa-portada {
  padding: clamp(3rem, 8vw, 6rem) 1.5rem;
  background: var(--global-palette1, #1f3864);
  color: #fff;
}
.konexa-portada h1,
.konexa-portada h2,
.konexa-portada p {
  color: #fff;
}
.konexa-portada .konexa-antetitulo {
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.9;
}
.konexa-portada .wp-block-button__link {
  background: #fff;
  color: var(--global-palette1, #1f3864);
}
.konexa-portada .is-style-outline .wp-block-button__link {
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
}
.konexa-seccion {
  padding: clamp(2.5rem, 6vw, 4.5rem) 1.5rem;
}
.konexa-seccion-suave {
  padding: clamp(2.5rem, 6vw, 4.5rem) 1.5rem;
  background: var(--global-palette8, #f5f6f8);
}
.konexa-tarjeta-linea {
  padding: 1.5rem;
  border-top: 4px solid var(--global-palette2, #1d4ed8);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 3px rgb(0 0 0 / 8%);
}
.konexa-tarjeta-linea.konexa-ingles {
  border-top-color: #b91c1c;
}
.konexa-pasos {
  counter-reset: paso;
  list-style: none;
  padding: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
.konexa-pasos li {
  counter-increment: paso;
  padding: 1.25rem;
  border-radius: 12px;
  background: #fff;
}
.konexa-pasos li::before {
  content: counter(paso);
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.5rem;
  border-radius: 50%;
  background: var(--global-palette1, #1f3864);
  color: #fff;
  font-weight: 700;
}
.wp-block-details {
  margin-bottom: 0.5rem;
  padding: 0.75rem 1rem;
  border: 1px solid #dfe4ec;
  border-radius: 8px;
  background: #fff;
}
.wp-block-details summary {
  font-weight: 600;
  cursor: pointer;
}

/* Landing de pauta: cabecera mínima propia. */
.konexa-landing-cabecera {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
}
.konexa-landing-marca {
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

/* ---------- Ajustes sobre el contenido de Kadence ----------
   Kadence imprime sus estilos de contenido (.single-content) después de los nuestros y les da
   márgenes y sangría a todas las listas, párrafos y títulos. Aquí se los quitamos a nuestras piezas. */
.single-content .konexa-tarjetas-programas,
.single-content .konexa-niveles,
.single-content .konexa-instituciones,
.single-content .konexa-chips,
.single-content .konexa-checks,
.single-content .konexa-tarjeta-linea .wp-block-list {
  padding-left: 0;
  list-style: none;
}
.single-content .konexa-chips {
  margin: 0;
}
.single-content .konexa-tarjeta-programa p,
.single-content .konexa-ficha-resumen p,
.single-content .konexa-ficha-resumen .konexa-ficha-acciones,
.single-content .konexa-nivel span {
  margin: 0;
}
.single-content .konexa-institucion-tarjeta p {
  margin: 0.35rem 0;
}
.single-content .konexa-tarjeta-titulo {
  margin: 0.15rem 0;
}
.single-content .konexa-formulario p {
  margin: 0 0 0.5rem;
}
.single-content .konexa-filtros {
  margin-bottom: 0.5rem;
}
.single-content .konexa-panel > :first-child,
.single-content .konexa-contacto > :first-child {
  margin-top: 0;
}

/* ---------- Marca (Bloque 3) ----------
   Colores del logo: azul y verde del búho, azul marino del nombre, naranja de los ojos y crema del
   fondo. Personalidad: profesional, confiable, moderna, cálida y dinámica. Letras: Nunito (títulos,
   redondeada como «Konexa») y Nunito Sans (texto), alojadas en el servidor. Licencia SIL OFL. */
@font-face {
  font-family: "Nunito";
  src: url("fuentes/nunito.woff2") format("woff2");
  font-weight: 200 1000;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("fuentes/nunito-sans.woff2") format("woff2");
  font-weight: 200 1000;
  font-display: swap;
}
body {
  --global-body-font-family: "Nunito Sans", -apple-system, "Segoe UI", Roboto, sans-serif;
  --global-heading-font-family: "Nunito", "Nunito Sans", -apple-system, "Segoe UI", sans-serif;
  --konexa-marino: #14213d;
  --konexa-azul: #2f6db5;
  --konexa-verde: #2f7a24;
  --konexa-verde-claro: #6cb33f;
  --konexa-naranja: #e8892f;
  --konexa-crema: #faf8f4;
}
.site-title {
  font-family: var(--global-heading-font-family);
  font-weight: 800;
  color: var(--konexa-marino);
}
.site-branding a.brand img.custom-logo {
  width: 56px !important;
  max-width: 56px !important;
  height: auto;
}
@media (max-width: 781px) {
  .site-branding a.brand img.custom-logo {
    width: 44px !important;
    max-width: 44px !important;
  }
}
#masthead .site-header-wrap {
  box-shadow: 0 1px 0 rgb(20 33 61 / 8%);
}
.konexa-barra-superior {
  background: var(--konexa-marino);
}
.konexa-barra-superior nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
.konexa-idioma {
  display: flex;
  align-items: center;
}
.konexa-idioma a,
.konexa-idioma select {
  color: #fff;
  font-size: 0.85rem;
}
.konexa-boton,
.wp-block-button__link {
  border-radius: 10px;
}
.konexa-boton-whatsapp,
.konexa-whatsapp-flotante {
  border-color: var(--konexa-verde);
  background: var(--konexa-verde);
}
.konexa-portada {
  background: linear-gradient(135deg, #14213d 0%, #1f4a86 58%, #2f6db5 100%);
}
.konexa-portada .konexa-antetitulo {
  color: #ffc994;
  opacity: 1;
}
.konexa-portada-imagen img {
  display: block;
  width: min(100%, 320px);
  height: auto;
  margin: 0 auto;
  filter: drop-shadow(0 12px 24px rgb(0 0 0 / 25%));
}
@media (max-width: 781px) {
  .konexa-portada-imagen img {
    width: 160px;
  }
}
.konexa-tarjeta-linea {
  border-top-color: var(--konexa-azul);
}
.konexa-tarjeta-linea.konexa-ingles {
  border-top-color: var(--konexa-verde-claro);
}
.konexa-nivel .konexa-icono {
  color: var(--konexa-azul);
}
.konexa-nivel:hover .konexa-icono {
  color: var(--konexa-naranja);
}
.konexa-pasos li::before {
  background: var(--konexa-naranja);
  /* Contraste (E5): blanco sobre naranja da 2,6; marino sobre naranja da 6,1. */
  color: var(--konexa-marino);
}
.konexa-pie-logo {
  width: 140px;
  height: auto;
  margin-bottom: 0.5rem;
}
.konexa-nosotros-logo {
  display: block;
  width: min(100%, 260px);
  height: auto;
  margin: 0 auto 1.5rem;
}

/* Inglés: identidad propia dentro de la marca (el verde del búho). */
.konexa-portada-ingles {
  background: linear-gradient(135deg, #17400f 0%, #2f7a24 100%);
}
.konexa-linea-ingles .konexa-boton:not(.konexa-boton-secundario),
.konexa-linea-ingles .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  border-color: var(--konexa-verde);
  background: var(--konexa-verde);
}
.konexa-linea-ingles .konexa-pasos li::before,
.konexa-linea-ingles .konexa-contacto {
  border-color: var(--konexa-verde-claro);
}
.konexa-linea-ingles .konexa-seccion-suave {
  background: #f1f8ec;
}
.konexa-linea-ingles
  .konexa-portada
  .wp-block-button:not(.is-style-outline)
  .wp-block-button__link {
  border-color: #fff;
  background: #fff;
  color: var(--konexa-verde);
}
/* Botón de contorno sobre las portadas oscuras: blanco, para que se lea. */
.konexa-portada .wp-block-button.is-style-outline .wp-block-button__link {
  border: 2px solid #fff !important;
  background: transparent !important;
  color: #fff !important;
}

/* ---------- Ficha del programa (Bloque 4) ----------
   Primera pantalla: resumen y formulario corto (en computador, el formulario a la derecha). */
.konexa-ficha-portada {
  display: grid;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
@media (min-width: 900px) {
  .konexa-ficha-portada {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    align-items: start;
  }
  .konexa-ficha-formulario {
    position: sticky;
    top: 1rem;
  }
}
.single-content .konexa-ficha-resumen {
  margin-bottom: 0;
}
.konexa-ficha-extracto {
  font-size: 1.05rem;
}
.konexa-ficha-tecnica-resumen {
  margin: 1rem 0;
  padding: 0.9rem 1rem;
  border: 1px solid #d7dde6;
  border-left: 4px solid var(--konexa-azul);
  border-radius: 8px;
  background: var(--konexa-crema);
}
.konexa-ficha-tecnica-titulo {
  margin: 0 0 0.5rem;
  font-weight: 700;
  color: var(--konexa-marino);
}
.konexa-ficha-tecnica-pie {
  margin: 0.75rem 0 0;
  font-size: 0.9rem;
}
.konexa-ficha-tecnica-pie a {
  font-weight: 700;
}
.konexa-ficha-tecnica-pie span {
  font-size: 0.8rem;
  color: var(--global-palette5, #4b5563);
}
.konexa-ficha-rapidos {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 0;
}
.konexa-ficha-rapidos dt {
  font-size: 0.8rem;
  color: var(--global-palette5, #4b5563);
}
.konexa-ficha-rapidos dd {
  margin: 0;
  font-weight: 700;
}
.single-content .konexa-ficha-formulario {
  margin-top: 0;
  border-top: 4px solid var(--konexa-azul);
}
.konexa-ficha-formulario h2 {
  font-size: 1.25rem;
}
.konexa-chips .konexa-insignia-promocion {
  background: #fff1cc;
  color: #6b4200;
}
.konexa-ficha-imagen {
  display: block;
  width: 100%;
  max-height: 320px;
  margin: 0 0 1.5rem;
  border-radius: 12px;
  object-fit: cover;
}
.konexa-subtitulo {
  font-size: 1.2rem;
}
.konexa-beneficios {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 1rem;
}
.konexa-beneficio {
  padding: 1rem 1.1rem;
  border: 1px solid #dfe4ec;
  border-left: 4px solid var(--konexa-naranja);
  border-radius: 10px;
  background: #fff;
}
.single-content .konexa-beneficio h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}
.single-content .konexa-beneficio p {
  margin: 0 0 0.35rem;
}
.konexa-plan {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 1rem;
}
.konexa-plan-periodo {
  padding: 1rem;
  border-radius: 10px;
  background: var(--konexa-crema);
}
.single-content .konexa-plan-periodo h3 {
  margin: 0 0 0.5rem;
  font-size: 1rem;
}
.single-content .konexa-plan-periodo ul {
  margin: 0 0 0.5rem;
  padding-left: 1.1rem;
  font-size: 0.9rem;
}
/* La tarjeta de la universidad: su logo es el botón. */
.konexa-institucion-logo {
  display: inline-flex;
  align-items: center;
  min-height: 72px;
  padding: 0.75rem 1rem;
  border: 1px solid #dfe4ec;
  border-radius: 12px;
  background: #fff;
  text-decoration: none !important;
}
.konexa-institucion-logo:hover,
.konexa-institucion-logo:focus-visible {
  border-color: var(--konexa-azul);
  box-shadow: 0 2px 10px rgb(20 33 61 / 12%);
}
.konexa-institucion-logo img {
  max-height: 56px;
  width: auto;
}

/* ---------- Portada clara (corrección de Silvio) ----------
   El logo completo va primero, sobre fondo crema, para que se vean sus colores reales y sin recortes;
   debajo, «Universidad aliada» con el logo de la Ibero. */
.konexa-portada-clara {
  padding: clamp(2rem, 5vw, 4rem) 1.5rem;
  background: linear-gradient(180deg, var(--konexa-crema) 0%, #fff 100%);
  border-bottom: 1px solid #ece7dc;
}
.konexa-portada-clara .wp-block-columns {
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
}
.konexa-portada-clara h1 {
  color: var(--konexa-marino);
  font-size: clamp(1.75rem, 3.2vw, 2.6rem);
  line-height: 1.2;
}
.konexa-portada-clara .konexa-antetitulo {
  color: #a3520c;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.konexa-portada-clara .konexa-buscador-portada input {
  border: 1px solid #8a94a6;
}
.konexa-portada-marca {
  text-align: center;
}
@media (min-width: 782px) {
  .konexa-portada-clara .wp-block-column.konexa-portada-marca {
    flex-basis: 38% !important;
    flex-grow: 0;
  }
}
.konexa-portada-logo {
  display: block;
  width: min(100%, 320px);
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}
@media (max-width: 781px) {
  .konexa-portada-logo {
    width: 220px;
  }
}
/* Logos sobre «Elige tu camino» (Silvio, 2026-11-04): KONEXA primero (18 % más alto) e IBERO, cada uno
   encima de su recuadro; franja lista para más instituciones. En el celular, cada logo va dentro de su recuadro. */
.konexa-caminos-logos {
  --kx-logo-h: 78px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: end;
  margin: 0 0 1.25rem;
}
.konexa-caminos-logo {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.konexa-camino-logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: var(--kx-logo-h, 64px);
  object-fit: contain;
}
.konexa-camino-logo.konexa-camino-logo-konexa {
  height: calc(var(--kx-logo-h, 64px) * 1.18);
}
/* Todos los logos de KONEXA en video (konexa.js): cuadrados, del mismo ancho que la imagen. */
video.konexa-logo-video {
  aspect-ratio: 1;
  height: auto;
  background: transparent;
  object-fit: contain;
}
.konexa-camino-logo.konexa-logo-video {
  aspect-ratio: 1;
  width: auto;
  background: transparent;
  clip-path: none !important;
  transform: none !important;
  opacity: 1 !important;
}
.konexa-camino-marca-movil {
  display: none;
}
@media (max-width: 781px) {
  .konexa-caminos-logos {
    display: none;
  }
  .konexa-camino-marca-movil {
    --kx-logo-h: 56px;
    display: flex;
    justify-content: center;
    padding: 1rem 1rem 0.75rem;
  }
}
/* Movimiento de aparición (konexa.js): KONEXA se «forma» desde el centro; la IBERO solo aparece con un
   fundido (su manual no permite efectos sobre su logo). Con «menos movimiento», quietos. */
@media (prefers-reduced-motion: no-preference) {
  .konexa-js .konexa-camino-logo {
    opacity: 0;
    transition:
      opacity 0.9s ease,
      clip-path 1.2s cubic-bezier(0.2, 0.7, 0.2, 1),
      transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
  }
  .konexa-js .konexa-camino-logo-konexa {
    clip-path: circle(0% at 50% 45%);
    transform: scale(0.9);
  }
  .konexa-js .konexa-camino-logo.konexa-logo-visible {
    opacity: 1;
    clip-path: circle(75% at 50% 50%);
    transform: none;
  }
}

/* Cobranding IBERO | KONEXA en la portada (Silvio, 2026-11-04): IBERO, línea y KONEXA un 18 % más alto. */
.konexa-portada-clara .wp-block-column.konexa-portada-marca:has(.konexa-cobranding) {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.4rem;
}
.konexa-portada-marca:has(.konexa-cobranding) .konexa-slogan {
  margin: 0;
}
.konexa-cobranding {
  --kx-cob-h: min(84px, calc((100cqi - 34px) / 3.8));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 3vw, 22px);
  margin: 0 auto;
}
.konexa-cobranding img {
  display: block;
  width: auto;
  max-width: none;
  object-fit: contain;
}
.konexa-cobranding .konexa-cobranding-ibero {
  height: var(--kx-cob-h);
}
.konexa-cobranding .konexa-cobranding-konexa {
  height: calc(var(--kx-cob-h) * 1.18);
}
.konexa-cobranding-linea {
  flex: none;
  width: 2px;
  height: calc(var(--kx-cob-h) * 1.18);
  background: #4a4848;
}
.konexa-aliadas {
  margin-top: 1.25rem;
  text-align: center;
}
.single-content .konexa-aliadas-titulo,
.konexa-aliadas-titulo {
  margin: 0 0 0.5rem;
  color: var(--konexa-marino);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.85rem;
}
.konexa-aliadas-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
.konexa-aliadas .konexa-institucion-logo img {
  max-height: 48px;
}
/* El logo completo sobre portadas oscuras (Inglés): en una tarjeta blanca. */
.konexa-logo-tarjeta {
  display: block;
  width: min(100%, 280px) !important;
  height: auto;
  margin: 0 auto;
  padding: 1rem;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgb(0 0 0 / 22%);
  filter: none !important;
}

/* El letrero «INICIO» junto al logo se quitó (Silvio, 2026-11-04, Q6): no aportaba y confundía. */
.site-branding a.brand:hover .site-title,
.site-branding a.brand:focus-visible .site-title {
  color: var(--konexa-azul);
}
/* El búho del encabezado, en un círculo: no se ven los bordes recortados del mundo. */
.site-branding a.brand img.custom-logo {
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 2px #e3e9f2;
  object-fit: cover;
}

/* ---------- Inicio y formulario de interés (Bloque 5) ---------- */
.konexa-portada-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}
.konexa-boton-grande {
  min-height: 52px;
  padding: 0.85rem 1.5rem;
  font-size: 1.05rem;
}
.konexa-portada-formulario {
  margin-top: 1.25rem;
  animation: konexa-entra 0.25s ease-out;
}
.konexa-portada-formulario-titulo {
  margin: 0 0 0.75rem;
  font-weight: 700;
  color: var(--konexa-marino);
}
.konexa-intereses {
  display: block;
  margin: 0 0 0.75rem;
  padding: 0.75rem 1rem;
  border: 1px solid #c9d3e0;
  border-radius: 10px;
  background: #fff;
}
/* La pregunta va dentro del recuadro como un título (en el celular no cabía sobre la línea). */
.konexa-intereses legend {
  float: left;
  width: 100%;
  margin: 0 0 0.35rem;
  padding: 0;
  font-weight: 700;
  line-height: 1.35;
}
.konexa-intereses legend + label {
  clear: both;
}
.konexa-intereses label {
  display: flex !important;
  gap: 0.6rem;
  align-items: center;
  min-height: 40px;
  font-weight: 600;
}
/* Mismo tamaño en las dos casillas aunque el texto ocupe dos líneas. */
.konexa-intereses input {
  flex: none;
  width: 1.2rem;
  height: 1.2rem;
  margin: 0;
}
/* Tarjetas que responden al pasar el ratón o con el teclado. */
.konexa-tarjeta-linea,
.konexa-tarjeta-programa,
.konexa-nivel,
.konexa-institucion-tarjeta {
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.konexa-tarjeta-linea:hover,
.konexa-tarjeta-programa:hover,
.konexa-tarjeta-programa:focus-within,
.konexa-nivel:hover,
.konexa-nivel:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgb(20 33 61 / 12%);
}
/* Aparición suave de las secciones al bajar. */
.konexa-aparece {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}
.konexa-aparece.konexa-visible {
  opacity: 1;
  transform: none;
}
@keyframes konexa-entra {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .konexa-aparece,
  .konexa-tarjeta-linea,
  .konexa-tarjeta-programa,
  .konexa-nivel {
    transition: none;
    opacity: 1;
    transform: none;
  }
}
/* Foco visible con el teclado en todo lo nuestro. */
.konexa-boton:focus-visible,
.konexa-enlace:focus-visible,
.konexa-formulario input:focus-visible,
.konexa-formulario select:focus-visible,
.konexa-pestanas-lista button:focus-visible {
  outline: 3px solid var(--konexa-naranja);
  outline-offset: 2px;
}
@media (max-width: 781px) {
  .konexa-portada-logo {
    width: 170px;
  }
  .konexa-portada-acciones .konexa-boton {
    flex: 1 1 100%;
  }
}

/* ---------- Registro de asesores (Bloque 6) ---------- */
.konexa-registro {
  max-width: 560px;
  margin: 0 auto;
}
.konexa-registro [hidden] {
  display: none !important;
}
.konexa-registro-progreso {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6ebf2;
}
.konexa-registro-progreso span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--konexa-verde-claro), var(--konexa-azul));
  transition: width 0.3s ease;
}
.konexa-registro-contador {
  margin: 0.5rem 0 1rem;
  font-size: 0.85rem;
  color: var(--global-palette5, #4b5563);
}
.konexa-registro-paso {
  animation: konexa-entra 0.25s ease-out;
}
.single-content .konexa-registro-pregunta,
.konexa-registro-pregunta {
  margin: 0 0 1rem;
  font-size: clamp(1.35rem, 5vw, 1.75rem);
  line-height: 1.25;
}
.konexa-registro-pregunta:focus {
  outline: none;
}
.konexa-registro input[type="text"],
.konexa-registro input[type="email"],
.konexa-registro input[type="tel"] {
  min-height: 52px;
  font-size: 1.1rem;
}
.konexa-registro-opciones {
  display: grid;
  gap: 0.6rem;
  margin-bottom: 1rem;
}
.konexa-registro-opcion {
  display: flex !important;
  gap: 0.6rem;
  align-items: center;
  width: 100%;
  min-height: 52px;
  padding: 0.75rem 1rem;
  border: 2px solid #c9d3e0;
  border-radius: 12px;
  background: #fff;
  color: var(--konexa-marino);
  font: inherit;
  font-size: 1.05rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.konexa-registro-opcion:hover,
.konexa-registro-opcion:focus-visible {
  border-color: var(--konexa-azul);
  outline: none;
}
.konexa-registro-opcion.konexa-elegida,
.konexa-registro-opcion:has(input:checked) {
  border-color: var(--konexa-azul);
  background: var(--global-palette7, #eaf2fb);
}
.konexa-registro-opcion input {
  width: 1.25rem;
  height: 1.25rem;
}
.konexa-registro-navegar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
}
.konexa-registro-resumen {
  display: grid;
  gap: 0.5rem;
  margin: 0;
}
.konexa-registro-resumen > div {
  padding: 0.6rem 0.8rem;
  border-radius: 10px;
  background: var(--konexa-crema);
}
.konexa-registro-resumen dt {
  font-size: 0.8rem;
  color: var(--global-palette5, #4b5563);
}
.konexa-registro-resumen dd {
  margin: 0;
  font-weight: 700;
}
/* En el link del asesor: la primera pregunta arriba, sin el título grande ni el WhatsApp general. */
.konexa-registro-pagina .entry-hero,
.konexa-registro-pagina .konexa-whatsapp-flotante,
.konexa-registro-pagina .konexa-migas {
  display: none !important;
}
.konexa-registro-pagina .content-area {
  margin-top: 1rem;
}

/* «La asesoría de KONEXA no tiene costo para ti» bajo el título del formulario de la ficha. */
.konexa-sin-costo {
  margin: -0.25rem 0 0.75rem;
  color: var(--konexa-verde, #2f7a24);
  font-weight: 700;
  font-size: 0.95rem;
}

/* Formulario «Trabaja con nosotros»: preguntas de opción en una fila que se acomoda en el celular. */
.konexa-postulacion fieldset {
  border: 0;
  margin: 0 0 1rem;
  padding: 0;
}
.konexa-postulacion legend {
  font-weight: 700;
  margin-bottom: 0.35rem;
}
.konexa-postulacion fieldset label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0 1rem 0.35rem 0;
  font-weight: 400;
}
.konexa-postulacion textarea {
  width: 100%;
}

/* Testimonios: solo aparecen cuando hay testimonios reales aprobados. */
.konexa-testimonios-lista {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}
.konexa-testimonio {
  margin: 0;
  padding: 1.25rem;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(20, 33, 61, 0.08);
}
.konexa-testimonio blockquote {
  margin: 0 0 0.75rem;
  font-style: italic;
}
.konexa-testimonio-estrellas {
  margin: 0 0 0.5rem;
  color: #e8892f;
  letter-spacing: 2px;
}

/* Slogan de la marca (Bloque 10): «Del sueño a la meta, KONEXA te conecta.» */
.konexa-slogan {
  font-weight: 800;
  font-style: italic;
  color: var(--konexa-azul, #2f6db5);
  font-size: 1.15rem;
  margin: 0.5rem 0 1rem;
}
.konexa-pie .konexa-slogan {
  color: inherit;
  font-size: 1rem;
}

/* ---------- Ayuda y volver arriba (Bloque 11) ---------- */
.konexa-ayuda {
  position: fixed;
  right: 1rem;
  bottom: 4.6rem;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 44px;
  padding: 0 0.95rem;
  border-radius: 999px;
  background: #fff;
  color: #14213d !important;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 3px 10px rgb(0 0 0 / 18%);
}
.konexa-ayuda span[aria-hidden] {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #2f6db5;
  color: #fff;
  font-size: 0.85rem;
}
.konexa-arriba {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 50;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #14213d;
  color: #fff;
  font-size: 1.2rem;
  cursor: pointer;
  box-shadow: 0 3px 10px rgb(0 0 0 / 22%);
}
@media (max-width: 781px) {
  .konexa-ayuda-texto {
    display: none;
  }
  .konexa-ayuda {
    padding: 0 0.6rem;
  }
  .konexa-con-barra .konexa-ayuda {
    display: none;
  }
  /* En el celular solo flota WhatsApp (Q5). */
  .konexa-arriba {
    display: none !important;
  }
}
/* El «volver arriba» de Kadence no se usa: está el propio de KONEXA. */
#kt-scroll-up,
#kt-scroll-up-reader {
  display: none !important;
}

/* Bloque 12 (accesibilidad): botones del idioma y enlaces del pie con tamaño mínimo para tocar (24 px). */
.gtranslate_wrapper .glink,
.konexa-barra .glink {
  display: inline-block;
  min-width: 28px;
  min-height: 28px;
  padding: 4px 6px;
  line-height: 20px;
  text-align: center;
}
.konexa-pie a {
  display: inline-block;
  padding: 3px 0;
}

/* Bloque 14: botón «Haz clic aquí» con el logo pequeño, en «¿Te ayudamos a elegir?» de Inicio. */
.konexa-boton-ayudamos-caja {
  margin: 0.5rem 0 1.5rem;
}
.konexa-boton-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 52px;
  padding: 0.4rem 1.4rem 0.4rem 0.45rem;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}
.konexa-boton-logo img {
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
}
@media (max-width: 781px) {
  .konexa-boton-logo {
    width: 100%;
    justify-content: center;
  }
}

/* Bloque 14: alta de aliados. */
.konexa-alta-aliado h3 {
  margin: 1.5rem 0 0.75rem;
  font-size: 1.15rem;
}

/* Fotos de la página de Inglés (Pexels, licencia libre; 2026-11-03): mismas proporciones y esquinas suaves. */
.konexa-foto-ingles {
  margin: 0 0 16px;
}
.konexa-foto-ingles img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 14px;
}

/* ---------- Apariencia «Conexión luminosa» (Silvio, 2026-11-04) ----------
   Solo cambia la apariencia: la estructura y los bloques del Inicio son los mismos. Le gustaron de la
   propuesta el azul de la portada, cómo se ve en el celular y los pasos con números. Ver KONEXA_BRANDBOOK.md. */
:root {
  --kx-noche: #0c183c;
  --kx-azul: #306cb4;
  --kx-verde: #488424;
  --kx-luz-azul: #6ca8d8;
  --kx-luz-verde: #90c060;
  --kx-texto-claro: #c9d6e6;
}
.konexa-portada-clara {
  position: relative;
  border-bottom: 0;
  color: #fff;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 720' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='l' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%2390c060'/%3E%3Cstop offset='1' stop-color='%236ca8d8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' stroke='url(%23l)'%3E%3Cpath d='M-40 560C240 470 420 620 640 500S980 300 1180 380 1420 300 1500 240' stroke-width='1.4' opacity='.5'/%3E%3Cpath d='M-40 200C200 260 360 140 600 220S900 420 1120 300 1380 120 1500 160' opacity='.3'/%3E%3C/g%3E%3Cg%3E%3Ccircle cx='640' cy='500' r='3.5' fill='%2390c060'/%3E%3Ccircle cx='1180' cy='380' r='3.5' fill='%236ca8d8'/%3E%3Ccircle cx='600' cy='220' r='3' fill='%2390c060'/%3E%3Ccircle cx='1120' cy='300' r='3' fill='%236ca8d8'/%3E%3C/g%3E%3C/svg%3E")
      center / 100% 100% no-repeat,
    radial-gradient(1100px 600px at 78% 35%, rgb(48 108 180 / 38%), transparent 60%),
    radial-gradient(700px 500px at 10% 95%, rgb(72 132 36 / 22%), transparent 60%),
    var(--kx-noche);
}
.konexa-portada-clara h1 {
  color: #fff;
}
.konexa-portada-clara .konexa-antetitulo {
  color: var(--kx-luz-verde);
}
.konexa-portada-clara .wp-block-column:not(.konexa-portada-marca) > p:not(.konexa-antetitulo) {
  color: var(--kx-texto-claro);
}
/* El logo completo, con sus colores reales, en una tarjeta blanca (regla de Silvio: el logo original). */
.konexa-portada-clara .konexa-portada-marca {
  padding: clamp(1rem, 2.5vw, 1.75rem);
  border-radius: 24px;
  background: #fff;
  color: var(--kx-noche);
  box-shadow:
    0 2px 6px rgb(0 0 0 / 20%),
    0 30px 60px -24px rgb(0 0 0 / 55%),
    0 0 0 1px rgb(108 168 216 / 25%);
}
.konexa-portada-clara .konexa-buscador-portada input {
  border: 1px solid rgb(108 168 216 / 60%);
}
.konexa-portada-clara .konexa-boton-secundario {
  border-color: rgb(214 228 242 / 70%);
  background: transparent;
  color: #fff !important;
}
.konexa-portada-clara .konexa-boton-secundario:hover {
  background: rgb(255 255 255 / 10%);
}
/* El formulario que se abre en la portada va sobre blanco, para que se lea. */
.konexa-portada-clara .konexa-portada-formulario {
  padding: 1.25rem;
  border-radius: 16px;
  background: #fff;
  color: var(--kx-noche);
}
.konexa-portada-clara .konexa-aliadas .konexa-institucion-logo img {
  max-height: 56px;
}
.konexa-portada-clara .konexa-boton,
.konexa-portada-clara .konexa-boton-secundario {
  transition:
    transform 0.2s cubic-bezier(0.2, 0.7, 0.2, 1),
    box-shadow 0.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.konexa-portada-clara .konexa-boton:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -8px rgb(48 108 180 / 60%);
}
/* En el celular: primero el titular, el buscador y los botones; debajo la tarjeta con el logo. */
@media (max-width: 781px) {
  .konexa-portada-clara .wp-block-columns {
    flex-direction: column;
  }
  .konexa-portada-clara .wp-block-column.konexa-portada-marca {
    order: 2;
    width: 100%;
  }
  .konexa-portada-clara .konexa-portada-logo {
    width: 150px;
  }
  .konexa-portada-clara h1 {
    font-size: clamp(1.9rem, 8vw, 2.25rem);
    line-height: 1.12;
  }
}

/* «Cómo te acompañamos» y demás pasos: números en círculos unidos por una línea de luz. */
.konexa-pasos {
  position: relative;
  gap: 1.5rem;
}
.konexa-pasos li {
  position: relative;
  z-index: 1;
  padding: 0;
  background: transparent;
}
.konexa-pasos li::before {
  display: grid;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.85rem;
  background: var(--kx-noche);
  color: #fff;
  font-family: var(--global-heading-font-family);
  font-size: 1.2rem;
  font-weight: 800;
  box-shadow:
    0 0 0 4px rgb(108 168 216 / 22%),
    0 0 22px rgb(108 168 216 / 50%);
}
.wp-block-list.konexa-pasos {
  margin-left: 0;
  padding-left: 0;
}
/* Cada paso dibuja el tramo de línea hasta el siguiente: queda alineada con los círculos en cualquier ancho. */
.konexa-pasos li:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: -1;
  background: linear-gradient(90deg, var(--kx-luz-verde), var(--kx-luz-azul));
}
@media (min-width: 782px) {
  /* Todos los pasos en una fila, para que la línea siempre llegue al siguiente. */
  .konexa-pasos {
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    grid-template-columns: none;
  }
  .konexa-pasos li:not(:last-child)::after {
    top: calc(1.5rem - 1px);
    left: 3rem;
    right: -1.5rem;
    height: 2px;
  }
}
@media (max-width: 781px) {
  .konexa-pasos li {
    padding-left: 4.25rem;
    min-height: 3rem;
  }
  .konexa-pasos li::before {
    position: absolute;
    top: 0;
    left: 0;
  }
  .konexa-pasos li:not(:last-child)::after {
    top: 3rem;
    bottom: -1.5rem;
    left: calc(1.5rem - 1px);
    width: 2px;
    background: linear-gradient(180deg, var(--kx-luz-verde), var(--kx-luz-azul));
  }
}
@media (prefers-reduced-motion: reduce) {
  .konexa-portada-clara .konexa-boton,
  .konexa-portada-clara .konexa-boton-secundario {
    transition: none;
  }
}

/* ---------- «Elige tu camino»: dos bloques grandes con foto (Silvio, 2026-11-04) ----------
   Cada bloque entero lleva a su línea (IBERO o Inglés). Animación elegante al pasar el mouse; quieta con
   «menos movimiento». */
.konexa-camino-subtitulo {
  margin-top: -0.5rem;
  color: #4b5a70;
  font-size: 1.1rem;
}
.wp-block-columns.konexa-caminos {
  gap: clamp(1.25rem, 3vw, 2rem);
}
.wp-block-column.konexa-camino {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-top: 0;
  border-radius: 22px;
  background: #fff;
  box-shadow:
    0 1px 2px rgb(12 24 60 / 6%),
    0 14px 36px -18px rgb(12 24 60 / 30%);
  transition:
    transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1),
    box-shadow 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.konexa-camino .konexa-camino-foto {
  margin: 0;
  overflow: hidden;
  border-bottom: 4px solid var(--kx-azul);
  aspect-ratio: 16 / 10;
}
.konexa-camino.konexa-ingles .konexa-camino-foto {
  border-bottom-color: var(--kx-verde);
}
.konexa-camino .konexa-camino-foto img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}
/* Fotos que se turnan en los bloques de «Elige tu camino» (konexa.js): una encima de otra, con fundido. */
.konexa-camino .konexa-camino-foto.konexa-rota {
  position: relative;
}
.konexa-camino .konexa-rota img {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition:
    opacity 0.9s ease,
    transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.konexa-camino .konexa-rota img.konexa-rota-activa {
  opacity: 1;
}
.wp-block-column.konexa-camino > h3.wp-block-heading {
  margin: 1.5rem 1.75rem 0.5rem;
  color: var(--kx-noche);
  font-size: clamp(1.3rem, 2.2vw, 1.6rem);
}
.wp-block-column.konexa-camino > p {
  margin: 0 1.75rem 0.75rem;
  color: #4b5a70;
}
.wp-block-column.konexa-camino > p.konexa-camino-enlace {
  margin: auto 1.75rem 1.75rem;
  padding-top: 0.5rem;
}
.konexa-camino-enlace a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--kx-azul);
  font-weight: 800;
  font-size: 1.05rem;
  text-decoration: none;
}
.konexa-camino.konexa-ingles .konexa-camino-enlace a {
  color: var(--kx-verde);
}
/* Todo el bloque es el enlace. */
.konexa-camino-enlace a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 22px;
}
.konexa-camino:focus-within {
  outline: 3px solid var(--kx-azul);
  outline-offset: 3px;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .wp-block-column.konexa-camino:hover {
    transform: translateY(-6px) perspective(1000px) rotateX(1.5deg);
    box-shadow:
      0 2px 4px rgb(12 24 60 / 6%),
      0 30px 60px -24px rgb(12 24 60 / 40%);
  }
  .konexa-camino:hover .konexa-camino-foto img {
    transform: scale(1.05);
  }
}

/* ---------- Tarjetas de programa con su foto oficial (Silvio, 2026-11-04) ---------- */
.konexa-tarjetas-programas {
  gap: 1.5rem;
}
.konexa-tarjeta-programa {
  position: relative;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  box-shadow:
    0 1px 2px rgb(12 24 60 / 6%),
    0 12px 32px -18px rgb(12 24 60 / 28%);
  transition:
    transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1),
    box-shadow 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.konexa-tarjeta-foto {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background:
    radial-gradient(240px 160px at 75% 30%, rgb(48 108 180 / 45%), transparent 70%), var(--kx-noche);
}
.konexa-tarjeta-foto-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.konexa-tarjeta-cuerpo {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.1rem 1.25rem 1.25rem;
}
.konexa-tarjeta-institucion {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: #607890;
}
.konexa-tarjeta-titulo a {
  color: var(--kx-noche);
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .konexa-tarjeta-programa:hover {
    transform: translateY(-4px);
    box-shadow:
      0 2px 4px rgb(12 24 60 / 6%),
      0 24px 48px -20px rgb(12 24 60 / 38%);
  }
  .konexa-tarjeta-programa:hover .konexa-tarjeta-foto-img {
    transform: scale(1.04);
  }
}
/* Programa sin foto oficial (la de Administración de Empresas no corresponde al programa): el búho en un círculo. */
.konexa-tarjeta-foto-vacia {
  position: relative;
  background:
    radial-gradient(240px 160px at 50% 50%, rgb(108 168 216 / 45%), transparent 70%),
    var(--kx-noche);
}
/* Sin foto oficial: fondo liso, sin logos. El logo de KONEXA nunca representa un programa (Silvio, 2026-11-04). */

/* ---------- Ficha: foto grande arriba (Silvio, 2026-11-04) ---------- */
.konexa-ficha-foto {
  margin: 0 0 1.75rem;
  overflow: hidden;
  border-radius: 22px;
  aspect-ratio: 21 / 8;
  box-shadow: 0 18px 40px -24px rgb(12 24 60 / 45%);
}
.konexa-ficha-foto .konexa-ficha-imagen {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  border-radius: 0;
  object-fit: cover;
}
.konexa-ficha-foto-vacia {
  position: relative;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 520' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='l' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%2390c060'/%3E%3Cstop offset='1' stop-color='%236ca8d8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M-40 400C240 330 420 450 640 360S980 210 1180 270 1420 210 1500 170' fill='none' stroke='url(%23l)' stroke-width='1.4' opacity='.55'/%3E%3C/svg%3E")
      center / 100% 100% no-repeat,
    radial-gradient(500px 260px at 50% 50%, rgb(48 108 180 / 40%), transparent 70%),
    var(--kx-noche);
}
/* Sin foto oficial: fondo liso, sin logos. El logo de KONEXA nunca representa un programa (Silvio, 2026-11-04). */
@media (max-width: 781px) {
  .konexa-ficha-foto {
    margin-inline: -0.25rem;
    border-radius: 16px;
    aspect-ratio: 16 / 9;
  }
}

/* ---------- Franja de programas destacados (10, deslizable de lado) ---------- */
.konexa-franja {
  margin: 0 -1.5rem;
  padding: 0.25rem 1.5rem 0.75rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 1.5rem;
  scrollbar-width: thin;
  scrollbar-color: var(--kx-luz-azul) transparent;
}
.konexa-franja:focus-visible {
  outline: 3px solid var(--kx-azul);
  outline-offset: 4px;
}
.konexa-tarjetas-programas.konexa-tarjetas-franja {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 300px);
  grid-template-columns: none;
  margin: 0.5rem 0 1rem;
}
.konexa-tarjetas-franja .konexa-tarjeta-programa {
  scroll-snap-align: start;
}
@media (max-width: 781px) {
  .konexa-tarjetas-programas.konexa-tarjetas-franja {
    grid-auto-columns: 82%;
  }
}

/* ---------- «¿Te ayudamos a elegir?»: franja azul noche (Silvio, 2026-11-04) ---------- */
#asesoria.konexa-seccion {
  color: #fff;
  background:
    radial-gradient(900px 420px at 85% 0%, rgb(48 108 180 / 38%), transparent 60%),
    radial-gradient(600px 360px at 0% 100%, rgb(72 132 36 / 22%), transparent 60%), var(--kx-noche);
}
#asesoria.konexa-seccion h2 {
  color: #fff;
}
#asesoria.konexa-seccion > p:not(.konexa-boton-ayudamos-caja),
#asesoria.konexa-seccion .wp-block-group__inner-container > p:not(.konexa-boton-ayudamos-caja) {
  color: var(--kx-texto-claro);
}
#asesoria.konexa-seccion .konexa-boton-logo {
  background: #fff;
  color: var(--kx-noche) !important;
  border-color: #fff;
}
/* El formulario va en una tarjeta blanca, para que se lea. */
#asesoria.konexa-seccion form.konexa-formulario {
  max-width: 720px;
  padding: clamp(1rem, 3vw, 1.75rem);
  border-radius: 18px;
  background: #fff;
  color: var(--kx-noche);
  box-shadow: 0 24px 48px -24px rgb(0 0 0 / 55%);
}

/* ---------- Pie de página en azul noche (Silvio, 2026-11-04) ---------- */
.konexa-pie,
.site-footer,
.site-footer .site-footer-row-container-inner,
.site-footer .site-bottom-footer-inner-wrap {
  background: #08112b;
  color: #b9c8db;
}
.konexa-pie {
  background:
    radial-gradient(700px 300px at 90% 0%, rgb(48 108 180 / 25%), transparent 60%), #08112b;
}
.konexa-pie a,
.site-footer a {
  color: #d6e4f2;
}
.konexa-pie a:hover,
.site-footer a:hover {
  color: #fff;
}
.konexa-pie .konexa-pie-titulo,
.konexa-pie strong {
  color: #fff;
}
.konexa-pie .konexa-slogan {
  color: var(--kx-luz-verde);
}
/* El logo completo, con sus colores reales, sobre una tarjeta blanca. */
.konexa-pie .konexa-pie-logo {
  padding: 0.6rem;
  border-radius: 16px;
  background: #fff;
}
.konexa-pie .konexa-enlace {
  color: #d6e4f2;
}

/* ---------- Embellecimiento con las piezas de Gemini (Silvio, 2026-11-04) ----------
   Solo apariencia. P-01 (portada), P-04 (franja azul) y P-05 (textura clara), en assets/fondos/.
   Ficha IMG-12 en KONEXA_BRANDBOOK.md. */
.konexa-portada-clara {
  background:
    linear-gradient(
      90deg,
      rgb(12 24 60 / 0%) 35%,
      rgb(12 24 60 / 45%) 70%,
      rgb(12 24 60 / 25%) 100%
    ),
    url("fondos/portada-luz.webp") center right / cover no-repeat,
    var(--kx-noche);
}
@media (max-width: 781px) {
  .konexa-portada-clara {
    background:
      linear-gradient(
        180deg,
        rgb(12 24 60 / 55%) 0%,
        rgb(12 24 60 / 35%) 45%,
        rgb(12 24 60 / 70%) 100%
      ),
      url("fondos/portada-luz-celular.webp") center / cover no-repeat,
      var(--kx-noche);
  }
}
#asesoria.konexa-seccion {
  background:
    url("fondos/franja-azul-luz.webp") center / cover no-repeat,
    var(--kx-noche);
}
.konexa-seccion-suave {
  background:
    url("fondos/textura-clara.webp") center / cover no-repeat,
    #faf8f4;
}

/* ---------- Búho 3D de KONEXA (P-03 y P-13; Silvio, 2026-11-04; ficha IMG-12) ----------
   Solo decoración y nunca en un programa. Flota suave; quieto con movimiento reducido. */
@keyframes konexa-flotar {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
@media (min-width: 1000px) {
  #asesoria.konexa-seccion {
    position: relative;
    overflow: hidden;
  }
  #asesoria.konexa-seccion > .wp-block-group__inner-container {
    position: relative;
    z-index: 1;
    padding-right: 250px;
  }
  #asesoria.konexa-seccion::after {
    content: "";
    position: absolute;
    right: clamp(1.5rem, 4vw, 3.5rem);
    bottom: 1.25rem;
    width: 280px;
    height: 234px;
    background: url("marca/buho-3d-vuela.webp") center / contain no-repeat;
    filter: drop-shadow(0 18px 24px rgb(0 0 0 / 35%));
    pointer-events: none;
    animation: konexa-flotar 5s ease-in-out infinite;
  }
}
.konexa-buho-gracias {
  margin: 0 auto 1.25rem;
  max-width: 260px;
}
.konexa-buho-gracias img,
.konexa-buho-404 {
  display: block;
  width: 100%;
  height: auto;
  animation: konexa-flotar 5s ease-in-out infinite;
}
/* El texto en inglés-traducido de Kadence se reemplaza por el de KONEXA (queda la búsqueda). */
.error404 .entry-content-wrap > p {
  display: none;
}
.konexa-404 {
  margin-top: 1.5rem;
  text-align: center;
}
.konexa-buho-404 {
  max-width: 320px;
  margin: 0 auto 1rem;
}
.konexa-404-texto {
  font-size: 1.1rem;
}
.konexa-404-botones {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
@media (prefers-reduced-motion: reduce) {
  #asesoria.konexa-seccion::after,
  .konexa-buho-gracias img,
  .konexa-buho-404 {
    animation: none;
  }
}

/* ---------- Imágenes ilustrativas en las páginas (P-07, P-14, P-16, P-17, P-18; ficha IMG-12) ---------- */
.konexa-foto-ilustrativa {
  margin: 2rem 0 1.25rem;
}
.konexa-foto-ilustrativa img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 21 / 9;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 22px 44px -26px rgb(12 24 60 / 45%);
}
.konexa-foto-pasos-konexa img {
  box-shadow: none;
}
.konexa-seccion-suave .konexa-foto-ilustrativa {
  margin-top: 0;
}
@media (max-width: 781px) {
  .konexa-foto-ilustrativa img {
    aspect-ratio: 16 / 9;
    border-radius: 14px;
  }
}
@media (max-width: 781px) {
  .konexa-foto-pasos-konexa img {
    aspect-ratio: auto;
  }
}

/* Inglés · «El inglés te conecta con el mundo»: burbujas de conversación (P-08) a la derecha. */
.konexa-linea-ingles .konexa-seccion:has(.konexa-slogan) {
  border-radius: 20px;
  background:
    url("fotos/ingles-burbujas.webp") right 2rem center / auto 92% no-repeat,
    #f9f4ee;
}
@media (min-width: 782px) {
  .konexa-linea-ingles .konexa-seccion:has(.konexa-slogan) > .wp-block-group__inner-container {
    padding-right: 240px;
  }
}
@media (max-width: 781px) {
  .konexa-linea-ingles .konexa-seccion:has(.konexa-slogan) {
    padding-bottom: 170px;
    background-position: center bottom 0.5rem;
    background-size: auto 160px;
  }
}

/* ---------- Inglés: «Salvia clara» (Silvio, 2026-11-04). El verde #2f7a24 era «muy fuerte y plano» y el
   salvia profundo, «verde policía»; de 4 opciones eligió la 1: verde hoja muy suave con letras verde
   oscuro, la red de luz y las burbujas 3D (P-08) junto al logo. Ficha en KONEXA_BRANDBOOK.md. ---------- */
.konexa-linea-ingles {
  --konexa-verde: #3f6a45;
  --konexa-verde-claro: #8fb98a;
}
.konexa-portada.konexa-portada-ingles {
  position: relative;
  overflow: hidden;
  color: #1e3526;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 720' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='l' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%237fae5a'/%3E%3Cstop offset='1' stop-color='%236ca8d8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' stroke='url(%23l)'%3E%3Cpath d='M-40 560C240 470 420 620 640 500S980 300 1180 380 1420 300 1500 240' stroke-width='1.4' opacity='.6'/%3E%3Cpath d='M-40 200C200 260 360 140 600 220S900 420 1120 300 1380 120 1500 160' opacity='.4'/%3E%3C/g%3E%3Cg%3E%3Ccircle cx='640' cy='500' r='3.5' fill='%237fae5a'/%3E%3Ccircle cx='1180' cy='380' r='3.5' fill='%236ca8d8'/%3E%3Ccircle cx='600' cy='220' r='3' fill='%237fae5a'/%3E%3Ccircle cx='1120' cy='300' r='3' fill='%236ca8d8'/%3E%3C/g%3E%3C/svg%3E")
      center / 100% 100% no-repeat,
    radial-gradient(900px 520px at 82% 25%, rgb(144 192 96 / 28%), transparent 62%),
    radial-gradient(700px 500px at 0% 100%, rgb(108 168 216 / 16%), transparent 60%),
    linear-gradient(135deg, #f3f6ee 0%, #e4ecdb 55%, #d5e2c9 100%);
}
.konexa-portada.konexa-portada-ingles h1,
.konexa-portada.konexa-portada-ingles h2,
.konexa-portada.konexa-portada-ingles p {
  color: #1e3526;
}
.konexa-portada.konexa-portada-ingles .konexa-antetitulo {
  color: #46702f;
}
.konexa-linea-ingles
  .konexa-portada-ingles
  .wp-block-button:not(.is-style-outline)
  .wp-block-button__link {
  border-color: #3f6a45;
  background: #3f6a45;
  color: #fff;
}
.konexa-portada-ingles .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: #3f6a45 !important;
  color: #3f6a45 !important;
}
.konexa-portada-ingles .konexa-portada-imagen {
  position: relative;
}
.konexa-portada-ingles .konexa-portada-imagen::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: -2.25rem;
  right: -0.75rem;
  width: 120px;
  height: 125px;
  background: url("marca/burbujas-3d.webp") center / contain no-repeat;
  filter: drop-shadow(0 12px 16px rgb(30 53 38 / 22%));
  pointer-events: none;
  animation: konexa-flotar 6s ease-in-out infinite;
}
.konexa-portada-ingles .konexa-portada-imagen > * {
  position: relative;
  z-index: 1;
}
.konexa-linea-ingles .konexa-seccion-suave {
  background: #f3f6f0;
}
@media (max-width: 781px) {
  .konexa-portada-ingles .konexa-portada-imagen::before {
    top: -1.75rem;
    right: -0.25rem;
    width: 84px;
    height: 88px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .konexa-portada-ingles .konexa-portada-imagen::before {
    animation: none;
  }
}

/* ---------- Más piezas de Gemini (Silvio, 2026-11-04; ficha IMG-12) ---------- */
/* Portada del Inicio: la red de luz en movimiento (V-01), solo en computador y suave (50 %) para que el
   titular se lea igual. */
.konexa-portada-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  mix-blend-mode: screen;
  transition: opacity 1.6s ease;
  pointer-events: none;
}
.konexa-portada-video.konexa-portada-video-lista {
  opacity: 0.5;
}
.konexa-portada-clara > :not(.konexa-portada-video) {
  position: relative;
  z-index: 1;
}
/* Inglés · «Déjanos tus datos»: el búho que vuela celebrando, a la derecha del formulario (computador). */
@media (min-width: 1000px) {
  .konexa-linea-ingles .konexa-seccion-suave:has(.konexa-formulario) {
    position: relative;
    overflow: hidden;
  }
  .konexa-linea-ingles
    .konexa-seccion-suave:has(.konexa-formulario)
    > .wp-block-group__inner-container {
    position: relative;
    z-index: 1;
    padding-right: 260px;
  }
  .konexa-linea-ingles .konexa-seccion-suave:has(.konexa-formulario)::after {
    content: "";
    position: absolute;
    top: 3rem;
    right: clamp(1.5rem, 4vw, 3.5rem);
    width: 240px;
    height: 201px;
    background: url("marca/buho-3d-vuela.webp") center / contain no-repeat;
    filter: drop-shadow(0 16px 20px rgb(30 53 38 / 20%));
    pointer-events: none;
    animation: konexa-flotar 5s ease-in-out infinite;
  }
}
/* Preguntas frecuentes: el búho con catalejo, a la derecha del primer título (en el celular, arriba). */
.konexa-buho-preguntas {
  float: right;
  width: min(34%, 240px);
  margin: 0 0 1rem 1.5rem;
}
.konexa-buho-preguntas img {
  display: block;
  width: 100%;
  height: auto;
  animation: konexa-flotar 5s ease-in-out infinite;
}
@media (max-width: 781px) {
  .konexa-buho-preguntas {
    float: none;
    width: 170px;
    margin: 0 auto 1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .konexa-linea-ingles .konexa-seccion-suave:has(.konexa-formulario)::after,
  .konexa-buho-preguntas img {
    animation: none;
  }
}
/* Las preguntas se acomodan al lado del búho, sin quedar debajo de él. */
.konexa-buho-preguntas ~ .wp-block-details {
  display: flow-root;
}

/* ---------- P-09 y P-20 (Silvio, 2026-11-04, noche; ficha IMG-13) ---------- */
/* Inglés: el búho con audífonos se asoma por la esquina del logo de la portada. */
.konexa-portada-ingles .konexa-portada-imagen::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 150px;
  left: calc(50% - 215px);
  width: 150px;
  height: 156px;
  background: url("marca/buho-3d-audifonos.webp") center / contain no-repeat;
  filter: drop-shadow(0 12px 16px rgb(30 53 38 / 25%));
  pointer-events: none;
  animation: konexa-flotar 5.5s ease-in-out infinite reverse;
}
@media (max-width: 781px) {
  .konexa-portada-ingles .konexa-portada-imagen::after {
    top: 85px;
    left: calc(50% - 135px);
    width: 92px;
    height: 96px;
  }
}
/* El búho que señala, a la izquierda del título del formulario. */
.konexa-buho-senala {
  float: left;
  width: 190px;
  margin: 0.25rem 1.25rem 0.75rem 0;
}
.konexa-buho-senala img {
  display: block;
  width: 100%;
  height: auto;
}
.konexa-buho-senala ~ form,
.konexa-buho-senala ~ :has(form) {
  clear: both;
}
@media (max-width: 781px) {
  .konexa-buho-senala {
    width: 120px;
    margin-right: 0.75rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .konexa-portada-ingles .konexa-portada-imagen::after {
    animation: none;
  }
}

/* ---------- Inglés con los videos de Flow y el fondo P-19 (Silvio, 2026-11-04; ficha IMG-15) ---------- */
.konexa-linea-ingles .konexa-seccion.konexa-con-burbujas-video {
  position: relative;
  overflow: hidden;
  background: #f9f4ee;
}
.konexa-burbujas-video {
  position: absolute;
  z-index: 0;
  top: 4%;
  right: 2rem;
  height: 92%;
  width: auto;
  mix-blend-mode: multiply;
  -webkit-mask-image: radial-gradient(ellipse 50% 50% at center, #000 62%, transparent 100%);
  mask-image: radial-gradient(ellipse 50% 50% at center, #000 62%, transparent 100%);
  pointer-events: none;
}
@media (min-width: 782px) {
  .konexa-linea-ingles
    .konexa-seccion.konexa-con-burbujas-video
    > .wp-block-group__inner-container {
    padding-right: 320px;
  }
}
.konexa-con-burbujas-video > :not(.konexa-burbujas-video) {
  position: relative;
  z-index: 1;
}
@media (max-width: 781px) {
  .konexa-burbujas-video {
    top: auto;
    right: auto;
    bottom: 0.5rem;
    left: 50%;
    height: 160px;
    transform: translateX(-50%);
  }
}
.konexa-foto-ilustrativa .konexa-foto-video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 21 / 9;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 22px 44px -26px rgb(12 24 60 / 45%);
}
@media (max-width: 781px) {
  .konexa-foto-ilustrativa .konexa-foto-video {
    aspect-ratio: 16 / 9;
    border-radius: 14px;
  }
}
/* «Déjanos tus datos» de Inglés sobre la franja salvia clara (P-19). */
.konexa-linea-ingles .konexa-seccion-suave:has(.konexa-formulario) {
  background:
    url("fondos/franja-salvia.webp") center / cover no-repeat,
    #f3f6ee;
}

/* ---------- C7 · Microinteracciones (2026-11-05): botones y preguntas frecuentes ---------- */
.konexa-boton,
.wp-block-button__link {
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease,
    background-color 0.18s ease;
}
.konexa-boton:hover,
.konexa-boton:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px -8px rgb(12 24 60 / 40%);
}
.konexa-boton:active,
.wp-block-button__link:active {
  transform: translateY(0) scale(0.98);
  box-shadow: none;
}
/* Preguntas frecuentes: borde que se ilumina, flecha que gira y respuesta que aparece suave. */
.wp-block-details {
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.wp-block-details:hover,
.wp-block-details[open] {
  border-color: #b9cbe3;
  box-shadow: 0 6px 16px -10px rgb(12 24 60 / 30%);
}
.wp-block-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  list-style: none;
}
.wp-block-details summary::-webkit-details-marker {
  display: none;
}
.wp-block-details summary::after {
  content: "";
  flex: none;
  width: 0.55rem;
  height: 0.55rem;
  margin-right: 0.2rem;
  border-right: 2px solid currentcolor;
  border-bottom: 2px solid currentcolor;
  opacity: 0.6;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.2s ease;
}
.wp-block-details[open] summary::after {
  transform: rotate(225deg) translateY(-2px);
}
.wp-block-details[open] > :not(summary) {
  margin-top: 0.6rem;
  animation: konexa-entra 0.25s ease;
}
.konexa-linea-ingles .wp-block-details:hover,
.konexa-linea-ingles .wp-block-details[open] {
  border-color: #b5d0a8;
}
@media (prefers-reduced-motion: reduce) {
  .konexa-boton,
  .wp-block-button__link,
  .wp-block-details,
  .wp-block-details summary::after {
    transition: none;
  }
  .konexa-boton:hover,
  .wp-block-button__link:hover {
    transform: none;
  }
  .wp-block-details[open] > :not(summary) {
    animation: none;
  }
}

/* ---------- C8b · Pie: franja final con los datos de la empresa y los contactos (2026-11-05) ---------- */
.konexa-pie .konexa-pie-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1.5rem;
  margin-top: 2rem;
  padding-top: 1.1rem;
  padding-bottom: 0.5rem;
  border-top: 1px solid rgb(255 255 255 / 12%);
  font-size: 0.88rem;
}
.konexa-pie-legal p {
  margin: 0;
}
.konexa-pie-contacto {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.25rem;
}
