/* ================================================================== *
 * Elementor nativo: contenedores y widgets del rediseño se comportan
 * como los <div> originales (va antes del sistema para que sus reglas ganen)
 * ================================================================== */
#page .ite-c { display: block; position: static; --position: static; width: auto; max-width: none; min-width: 0; min-height: 0; text-align: inherit;
  --width: auto; --min-height: initial; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --margin-top: 0px; --margin-right: 0px; --margin-bottom: 0px; --margin-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --text-align: inherit;
  --flex-direction: row; --flex-wrap: nowrap; --justify-content: normal; --align-items: normal; --align-content: normal;
  flex-direction: row; flex-wrap: nowrap; justify-content: normal; align-items: normal; align-content: normal; gap: normal; }
#page .ite-c::before, #page .ite-c::after { position: static; top: auto; left: auto; width: auto; height: auto; display: inline; mix-blend-mode: normal; opacity: 1; transition: none; }
#page .ite-t, #page .ite-h { position: static; width: auto; max-width: none; min-width: 0; margin: 0; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; text-align: inherit; }
#page .ite-h { position: relative; }
#page .ite-deco { position: absolute; inset: 0; margin: 0; pointer-events: none; z-index: 0; }
/* En el editor, cada elemento es la referencia de sus controles de edición */
.ite-editor #page .ite-c:not(.ite-deco), .ite-editor #page .ite-t { position: relative; }
/* Astra fija el interlineado de los encabezados; en el diseño lo heredan salvo que el componente lo defina */
:where(.ite) #page :where(h1, h2, h3, h4, h5, h6) { line-height: inherit; }
/* Un elemento en línea solo dentro de su widget era elemento de rejilla/flex (se «bloquificaba»): lo sigue siendo */
#page :is(.ite-t, .ite-h) > :is(span, small, b, i):only-child { display: block; }
/* Astra pone bordes a todas las celdas; las tablas del diseño solo llevan líneas entre renglones */
:where(.ite) #page :where(table, th, td) { border: 0; }
/* Astra reduce el tamaño base en tablet y celular; el diseño mide en rem sobre 16 px */
html:root { font-size: 100%; }
/* Valores del navegador que Astra cambia (la vista final del diseño parte de ellos) */
:where(.ite) #page :where(ul, ol) { margin: 1em 0; padding-left: 40px; }
:where(.ite) #page :where(li > ul, li > ol) { margin: 0; }
:where(.ite) #page :where(h4) { margin: 1.33em 0; font-size: 1em; }
:where(.ite) #page :where(h5) { margin: 1.67em 0; font-size: .83em; }
:where(.ite) #page :where(h6) { margin: 2.33em 0; font-size: .67em; }
:where(.ite) #page :where(small) { font-size: smaller; }
:where(.ite) #page :where(table) { margin: 0; width: auto; border-collapse: separate; border-spacing: 2px; }
:where(.ite) #page :where(th, td) { padding: 1px; }
:where(.ite) #page :where(blockquote) { margin: 1em 40px; padding: 0; border: 0; font-style: normal; font-size: inherit; quotes: none; }
:where(.ite) #page :where(blockquote)::before { content: none; }
/* ==========================================================================
   iteSoluciones · Sistema Bauhaus (paleta de marca)
   Hoja global. En WordPress: Apariencia › Personalizar › CSS adicional
   (o style.css del tema hijo de Astra). Requiere Montserrat desde Google Fonts.
   ========================================================================== */

:root {
  /* Colores de marca iteSoluciones */
  --ite-azul: #004A81;          /* azul institucional: titulares, bandas */
  --ite-azul-claro: #007DBB;    /* azul de acción: botones, enlaces */
  --ite-grafito: #333333;       /* gris oscuro del sitio: texto fuerte, pie */
  --ite-pizarra: #4B4F58;       /* gris de texto del sitio */
  /* Matices derivados del azul de acción (solo decoración y fondos) */
  --ite-celeste: #66B1D6;       /* 60 % de #007DBB */
  --ite-hielo: #D9EBF5;         /* 15 % de #007DBB */
  /* Neutros */
  --ite-blanco: #FFFFFF;
  --ite-niebla: #F2F5F8;
  --ite-gris: #B9C0C9;
  --ite-linea: #D8DEE5;

  /* Tipo */
  --ite-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --ite-texto: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Escala tipográfica (razón 1.25, base 17 px) */
  --ite-t-hero: clamp(2.6rem, 5.4vw, 4.5rem);
  --ite-t-h2: clamp(1.9rem, 3.3vw, 2.75rem);
  --ite-t-h3: clamp(1.2rem, 1.5vw, 1.375rem);
  --ite-t-entrada: clamp(1.0625rem, 1.3vw, 1.1875rem);
  --ite-t-cuerpo: 1.0625rem;
  --ite-t-chico: .9375rem;
  --ite-t-etiqueta: .8125rem;

  /* Construcción */
  --ite-regla: 3px;
  --ite-ancho: 1240px;
  --ite-margen: clamp(20px, 4vw, 56px);
  --ite-seccion: clamp(72px, 9vw, 128px);
  --ite-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---------- Superficies del navegador ---------- */
:where(.ite) #page ::selection { background: var(--ite-hielo); color: var(--ite-azul); }
:where(.ite) #page :focus-visible { outline: 3px solid var(--ite-azul-claro); outline-offset: 3px; }
:where(.ite) #page .ite-oscuro :focus-visible { outline-color: var(--ite-blanco); }
.ite-body { scrollbar-color: var(--ite-azul-claro) var(--ite-niebla); }
/* Fondo explícito en ambos temas: la página nunca hereda el fondo del visor o del navegador */
:root { color-scheme: light; background: var(--ite-blanco); }
.ite-body { background: var(--ite-blanco); }
[data-tema="oscuro"]:root { background: #0B1520; }

/* ---------- Base (reinicios con :where para no ganarle a los componentes) ---------- */
.ite {
  font-family: var(--ite-texto);
  font-size: var(--ite-t-cuerpo);
  line-height: 1.65;
  color: var(--ite-pizarra);
  -webkit-font-smoothing: antialiased;
}
:where(.ite) #page *, :where(.ite) #page *::before, :where(.ite) #page *::after { box-sizing: border-box; }
:where(.ite) #page img { max-width: 100%; height: auto; display: block; }
:where(.ite) #page a { color: var(--ite-azul-claro); text-underline-offset: .22em; text-decoration-thickness: 2px; }
:where(.ite) #page a:hover { color: var(--ite-azul); }
:where(.ite) #page :where(h1, h2, h3) { font-family: var(--ite-display); color: var(--ite-azul); margin: 0; text-wrap: balance; }
:where(.ite) #page p { margin: 0; text-wrap: pretty; }

#page .ite-envoltura { width: 100%; max-width: calc(var(--ite-ancho) + 2 * var(--ite-margen)); margin-inline: auto; padding-inline: var(--ite-margen); position: relative; }
#page .ite-t:has(> .ite-envoltura) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-envoltura) { margin-inline: auto; width: 100%; max-width: calc(var(--ite-ancho) + 2 * var(--ite-margen)); }
#page .ite-seccion { padding-block: var(--ite-seccion); position: relative; overflow: hidden; overflow: clip; } /* clip: recorta las figuras sin romper los elementos fijos (sticky) */

/* Titular de sección con su línea corta */
#page .ite-titulo { font-size: var(--ite-t-h2); font-weight: 800; line-height: 1.1; letter-spacing: -0.015em; }
#page .ite-titulo::after { content: ""; display: block; width: 72px; height: var(--ite-regla); margin-top: 20px; background: var(--ite-azul-claro); }
#page .ite-entrada { font-size: var(--ite-t-entrada); line-height: 1.6; color: var(--ite-pizarra); max-width: 62ch; }
#page .ite-h:not(.ite-deco):has(> .ite-entrada) { max-width: 62ch; }

/* ---------- Botones ---------- */
#page .ite-boton {
  white-space: nowrap;
  display: inline-flex; align-items: center; justify-content: center; gap: .65em;
  min-height: 52px; padding: 0 1.6rem;
  font-family: var(--ite-display); font-size: 1rem; font-weight: 700; letter-spacing: .01em;
  text-decoration: none; border: 0; border-radius: 0; cursor: pointer;
  transition: background-color .25s var(--ite-ease), color .25s var(--ite-ease);
}
#page .ite-boton svg { width: 1.05em; height: 1.05em; flex: none; transition: transform .3s var(--ite-ease); }
#page .ite-boton:hover svg { transform: translateX(4px); }
#page .ite-boton--accion { background: var(--ite-azul-claro); color: var(--ite-blanco) !important; }
#page .ite-boton--accion:hover { background: var(--ite-azul); }
#page .ite-boton--blanco { background: var(--ite-blanco); color: var(--ite-azul) !important; }
#page .ite-boton--blanco:hover { background: var(--ite-hielo); }

#page .ite-enlace-flecha {
  display: inline-flex; align-items: center; gap: .5em;
  font-family: var(--ite-display); font-weight: 700; font-size: 1rem;
  color: var(--ite-azul) !important; text-decoration: none; padding-block: .35em;
  border-bottom: 2px solid var(--ite-hielo);
  transition: border-color .25s var(--ite-ease);
}
#page .ite-enlace-flecha:hover { border-bottom-color: var(--ite-azul-claro); }
#page .ite-enlace-flecha svg { width: 1em; height: 1em; transition: transform .3s var(--ite-ease); }
#page .ite-enlace-flecha:hover svg { transform: translateX(4px); }

/* ==========================================================================
   Piezas geométricas (composición Bauhaus en la paleta de marca)
   ========================================================================== */
#page .ite-pz { display: block; }
#page .ite-pz--azul { background: var(--ite-azul); }
#page .ite-pz--claro { background: var(--ite-azul-claro); }
#page .ite-pz--celeste { background: var(--ite-celeste); }
#page .ite-pz--hielo { background: var(--ite-hielo); }
#page .ite-pz--gris { background: var(--ite-gris); }
#page .ite-pz--pizarra { background: var(--ite-pizarra); }
#page .ite-pz--q1 { border-radius: 100% 0 0 0; }
#page .ite-pz--q2 { border-radius: 0 100% 0 0; }
#page .ite-pz--q3 { border-radius: 0 0 100% 0; }
#page .ite-pz--q4 { border-radius: 0 0 0 100%; }
#page .ite-pz--circ { border-radius: 50%; }
#page .ite-pz--semi-arr { border-radius: 999px 999px 0 0; }
#page .ite-pz--semi-izq { border-radius: 999px 0 0 999px; }
#page .ite-pz--semi-der { border-radius: 0 999px 999px 0; }
#page .ite-pz--puntos { --c: var(--ite-azul-claro); background: radial-gradient(circle, var(--c) 0 26%, transparent 28%) 0 0 / 33.333% 33.333%; }
#page .ite-pz--puntos.ite-pz--blanco { --c: rgba(255,255,255,.85); }
#page .ite-pz--puntos.ite-pz--gris-p { --c: var(--ite-gris); }
#page .ite-pz--rayas { --c: var(--ite-azul); background: linear-gradient(90deg, var(--c) 0 3px, transparent 3px) 0 0 / 9px 100% repeat-x; }
#page .ite-pz--rayas.ite-pz--pizarra-r { --c: var(--ite-pizarra); }
#page .ite-pz--rayas.ite-pz--gris-r { --c: var(--ite-gris); }
/* Composición con los colores del logotipo de la solución (portadas sin video) */
#page .ite-mini--marca { --ite-azul: var(--m1); --ite-azul-claro: var(--m2); --ite-celeste: var(--m3); --ite-pizarra: var(--m4); --ite-hielo: color-mix(in srgb, var(--m1) 13%, #fff); }

/* Cúmulo de esquina: retícula de 3 × 3 */
#page .ite-cumulo {
  --celda: clamp(26px, 3vw, 42px);
  position: absolute; z-index: 0; pointer-events: none;
  display: grid; grid-template-columns: repeat(3, var(--celda)); grid-template-rows: repeat(3, var(--celda));
}
#page .ite-cumulo--si { top: 0; left: 0; }
#page .ite-cumulo--sd { top: 0; right: 0; }
#page .ite-cumulo--ii { bottom: 0; left: 0; }
#page .ite-cumulo--id { bottom: 0; right: 0; }
#page .ite-seccion > .ite-envoltura { z-index: 1; }

/* ==========================================================================
   Encabezado (vista previa; en el sitio lo pinta Astra con estas reglas)
   ========================================================================== */
#page .ite-cabecera { position: sticky; top: 0; z-index: 50; background: var(--ite-azul); color: var(--ite-blanco); }
#page .ite-cabecera__fila { display: flex; align-items: center; gap: 2rem; min-height: 76px; }
#page .ite-cabecera__logo img { width: 150px; }
#page .ite-nav { margin-left: auto; align-self: stretch; }
#page .ite-t:has(> .ite-nav) { margin-left: auto; align-self: stretch; }
#page .ite-h:not(.ite-deco):has(> .ite-nav) { margin-left: auto; align-self: stretch; }
#page .ite-nav__lista { display: flex; gap: 1.6rem; list-style: none; margin: 0; padding: 0; height: 100%; }
#page .ite-nav__item { display: flex; align-items: center; }
#page .ite-nav__item--sub { position: relative; gap: .2rem; }
#page .ite-nav__item--mega { position: static; } /* el panel amplio se mide contra la envoltura de la cabecera */
#page .ite-nav__lista > :is(li, :where(.ite-li)) > a, #page .ite-nav__abrir--texto { color: var(--ite-blanco); text-decoration: none; font-size: .9375rem; font-weight: 500; padding-block: 27px 24px; border-bottom: 3px solid transparent; transition: border-color .2s var(--ite-ease); }
#page .ite-nav__lista > :is(li, :where(.ite-li)) > a:hover, #page .ite-nav__lista > :is(li, :where(.ite-li)) > a[aria-current], #page .ite-nav__abrir--texto:hover, #page .ite-nav__abrir--texto[data-actual] { color: var(--ite-blanco); border-bottom-color: var(--ite-celeste); }
#page .ite-nav__abrir { display: inline-grid; place-items: center; width: 22px; height: 22px; padding: 0; border: 0; background: none; color: var(--ite-blanco); cursor: pointer; }
#page .ite-h:not(.ite-deco):has(> .ite-nav__abrir) { width: 22px; }
#page .ite-nav__abrir--texto { display: inline-flex; align-items: center; gap: .4rem; width: auto; height: auto; font-family: inherit; line-height: inherit; }
#page .ite-h:not(.ite-deco):has(> .ite-nav__abrir--texto) { width: auto; }
#page .ite-nav__abrir svg { width: 12px; height: 12px; flex: none; transition: rotate .25s var(--ite-ease); }
#page .ite-nav__item--sub.is-abierto > .ite-nav__abrir svg, #page .ite-nav__item--sub.is-abierto > .ite-nav__abrir--texto svg { rotate: 180deg; }

/* Submenús: panel blanco con regla superior; el de Soluciones es amplio y agrupado */
#page .ite-sub { position: absolute; top: 100%; left: -1.25rem; z-index: 60; min-width: 270px; background: var(--ite-blanco); color: var(--ite-pizarra); border-top: 4px solid var(--ite-azul-claro); box-shadow: 0 22px 44px rgba(0, 32, 64, .18); opacity: 0; visibility: hidden; translate: 0 10px; transition: opacity .2s var(--ite-ease), translate .3s var(--ite-ease), visibility 0s linear .2s; }
#page .ite-h:not(.ite-deco):has(> .ite-sub) { min-width: 270px; }
#page .ite-sub--mega { left: var(--ite-margen); right: var(--ite-margen); min-width: 0; }
#page .ite-h:not(.ite-deco):has(> .ite-sub--mega) { min-width: 0; }
#page .ite-nav__item--sub.is-abierto > .ite-sub { opacity: 1; visibility: visible; translate: 0 0; transition-delay: 0s; }
@media (min-width: 1121px) and (hover: hover) {
  #page .ite-nav__item--sub:hover > .ite-sub { opacity: 1; visibility: visible; translate: 0 0; transition-delay: .06s; }
  #page .ite-nav__item--sub:hover > .ite-nav__abrir svg { rotate: 180deg; }
  #page .ite-nav__item--sub:hover > .ite-nav__enlace { border-bottom-color: var(--ite-celeste); }
}
#page .ite-sub > .ite-sub__lista { padding: 16px 22px 18px; }
#page .ite-sub__marco { position: relative; overflow: hidden; padding: clamp(28px, 3vw, 40px); }
#page .ite-sub__rejilla { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 28px clamp(24px, 3vw, 40px); }
#page .ite-sub__grupo--ancho { grid-column: span 2; }
#page .ite-t:has(> .ite-sub__grupo--ancho) { grid-column: span 2; }
#page .ite-h:not(.ite-deco):has(> .ite-sub__grupo--ancho) { grid-column: span 2; }
#page .ite-sub__grupo--sueltos { padding-top: 40px; }
#page .ite-sub__bloques { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; }
#page .ite-sub__titulo { margin: 0 0 14px; font: 800 .8125rem/1.2 var(--ite-display); letter-spacing: .08em; text-transform: uppercase; color: var(--ite-azul); }
#page .ite-sub__titulo::after { content: ""; display: block; width: 28px; height: 3px; margin-top: 10px; background: var(--ite-azul-claro); }
#page .ite-sub__titulo a, #page .ite-sub__etiqueta a { color: inherit; text-decoration: none; }
#page .ite-sub__titulo a:hover, #page .ite-sub__etiqueta a:hover { color: var(--ite-azul-claro); }
#page .ite-sub__etiqueta { margin: 0 0 6px; font: 700 .875rem/1.3 var(--ite-display); color: var(--ite-grafito); }
#page .ite-sub__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }
#page .ite-sub__lista a, #page .ite-sub__lista span { position: relative; display: block; padding: 5px 0 5px 15px; color: var(--ite-pizarra); font-size: .875rem; font-weight: 500; line-height: 1.35; text-decoration: none; border: 0; }
#page .ite-sub__lista a::before { content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 6px; margin-top: -3px; background: var(--ite-hielo); transition: background-color .2s, border-radius .2s; }
#page .ite-sub__lista a:hover, #page .ite-sub__lista a[aria-current] { color: var(--ite-azul-claro); }
#page .ite-sub__lista a:hover::before, #page .ite-sub__lista a[aria-current]::before { background: var(--ite-azul-claro); border-radius: 50%; }
#page .ite-sub__sueltos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--ite-linea); }
#page .ite-sub__pieza { position: absolute; right: 0; bottom: 0; width: 76px; height: 76px; opacity: .9; }
#page .ite-h:not(.ite-deco):has(> .ite-sub__pieza) { width: 76px; }
#page .ite-sub__puntos { position: absolute; right: 90px; bottom: 16px; width: 34px; height: 34px; }
#page .ite-h:not(.ite-deco):has(> .ite-sub__puntos) { width: 34px; }
:where(.ite) #page .ite-oscuro .ite-sub :focus-visible { outline-color: var(--ite-azul-claro); }
#page .ite-cabecera .ite-boton { min-height: 44px; font-size: .875rem; padding: 0 1.1rem; }
#page .ite-menu-boton { display: none; width: 48px; height: 48px; border: 0; background: transparent; color: var(--ite-blanco); cursor: pointer; }
#page .ite-h:not(.ite-deco):has(> .ite-menu-boton) { width: 48px; }
#page .ite-menu-boton span, #page .ite-menu-boton span::before, #page .ite-menu-boton span::after { display: block; width: 26px; height: 3px; background: currentColor; margin-inline: auto; position: relative; transition: transform .3s var(--ite-ease), background-color .2s; }
#page .ite-menu-boton span::before, #page .ite-menu-boton span::after { content: ""; position: absolute; left: 0; }
#page .ite-menu-boton span::before { top: -8px; }
#page .ite-menu-boton span::after { top: 8px; }
#page .ite-menu-boton[aria-expanded="true"] span { background: transparent; }
#page .ite-menu-boton[aria-expanded="true"] span::before { transform: translateY(8px) rotate(45deg); }
#page .ite-menu-boton[aria-expanded="true"] span::after { transform: translateY(-8px) rotate(-45deg); }
@media (max-width: 1120px) {
  #page .ite-menu-boton { display: block; order: 3; }
#page .ite-t:has(> .ite-menu-boton) { order: 3; }
#page .ite-h:not(.ite-deco):has(> .ite-menu-boton) { order: 3; }
  #page .ite-cabecera__logo { margin-right: auto; }
#page .ite-t:has(> .ite-cabecera__logo) { margin-right: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-cabecera__logo) { margin-right: auto; } /* empuja a la derecha lo que se muestre: botón, modo oscuro y menú */
  #page .ite-nav { position: absolute; left: 0; right: 0; top: 100%; background: var(--ite-azul); border-top: 1px solid rgba(255,255,255,.15); padding: .5rem var(--ite-margen) 1.5rem; display: none; max-height: calc(100vh - 76px); overflow-y: auto; overscroll-behavior: contain; }
  #page .ite-nav.is-abierto { display: block; }
  #page .ite-nav__lista { flex-direction: column; gap: 0; height: auto; }
  #page .ite-nav__item { flex-wrap: wrap; border-bottom: 1px solid rgba(255,255,255,.15); }
  #page .ite-nav__lista > :is(li, :where(.ite-li)) > a, #page .ite-nav__abrir--texto { flex: 1; display: block; padding: 1rem 0; border-bottom: 0; font-size: 1.0625rem; }
#page .ite-t:has(> .ite-nav__abrir--texto) { flex: 1; }
#page .ite-h:not(.ite-deco):has(> .ite-nav__abrir--texto) { flex: 1; }
  #page .ite-nav__abrir--texto { display: flex; justify-content: space-between; text-align: left; }
  #page .ite-nav__abrir { width: 44px; height: 44px; }
#page .ite-h:not(.ite-deco):has(> .ite-nav__abrir) { width: 44px; }
  #page .ite-nav__abrir--texto { width: auto; height: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-nav__abrir--texto) { width: auto; }
  #page .ite-sub, #page .ite-sub--mega { position: static; flex-basis: 100%; display: none; min-width: 0; margin: 0 0 1rem; opacity: 1; visibility: visible; translate: none; transition: none; box-shadow: none; border-top-width: 3px; }
#page .ite-t:has(> .ite-sub), #page .ite-t:has(> .ite-sub--mega) { flex-basis: 100%; }
#page .ite-h:not(.ite-deco):has(> .ite-sub), #page .ite-h:not(.ite-deco):has(> .ite-sub--mega) { flex-basis: 100%; min-width: 0; }
  #page .ite-nav__item--sub.is-abierto > .ite-sub { display: block; }
  #page .ite-sub__marco { padding: 20px; }
  #page .ite-sub__rejilla { grid-template-columns: 1fr; gap: 24px; }
  #page .ite-sub__grupo--ancho { grid-column: auto; }
#page .ite-t:has(> .ite-sub__grupo--ancho) { grid-column: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-sub__grupo--ancho) { grid-column: auto; }
  #page .ite-sub__grupo--sueltos { padding-top: 0; }
  #page .ite-sub__pieza, #page .ite-sub__puntos { display: none; }
  #page .ite-sub__lista a, #page .ite-sub__lista span { padding-block: 9px; }
}
@media (max-width: 560px) {
  #page .ite-sub__bloques, #page .ite-sub__sueltos { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  #page .ite-cabecera .ite-cabecera__cta { min-height: 40px; padding: 0 .75rem; font-size: .8125rem; }
  #page .ite-cabecera__logo img { width: 112px; }
  #page .ite-cabecera__fila { gap: .75rem; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
#page .ite-hero { padding-block: clamp(48px, 7vw, 104px); background: var(--ite-blanco); position: relative; overflow: hidden; }
#page .ite-hero__rejilla { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 88px); align-items: center; position: relative; z-index: 1; }
#page .ite-hero h1 { font-size: var(--ite-t-hero); font-weight: 800; line-height: 1.02; letter-spacing: -0.025em; color: var(--ite-azul); }
#page .ite-hero h1 span { display: block; }
#page .ite-hero__linea { display: block; width: 120px; height: var(--ite-regla); background: var(--ite-azul-claro); margin-top: clamp(22px, 2.6vw, 32px); }
#page .ite-h:not(.ite-deco):has(> .ite-hero__linea) { width: 120px; }
#page .ite-hero__texto { margin-top: clamp(20px, 2.4vw, 28px); font-size: clamp(1.125rem, 1.5vw, 1.3125rem); line-height: 1.55; color: var(--ite-pizarra); max-width: 34ch; }
#page .ite-h:not(.ite-deco):has(> .ite-hero__texto) { max-width: 34ch; }
#page .ite-hero__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-top: clamp(28px, 3.6vw, 44px); }

#page .ite-composicion { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(4, 1fr); aspect-ratio: 1; width: 100%; max-width: 540px; justify-self: end; position: relative; }
#page .ite-t:has(> .ite-composicion) { justify-self: end; }
#page .ite-h:not(.ite-deco):has(> .ite-composicion) { justify-self: end; width: 100%; max-width: 540px; }
#page .ite-composicion > .ite-pz { position: relative; }
#page .ite-c-a { grid-area: 1 / 1 / 2 / 2; }
#page .ite-t:has(> .ite-c-a) { grid-area: 1 / 1 / 2 / 2; }
#page .ite-h:not(.ite-deco):has(> .ite-c-a) { grid-area: 1 / 1 / 2 / 2; }
#page .ite-c-b { grid-area: 1 / 2 / 2 / 3; }
#page .ite-t:has(> .ite-c-b) { grid-area: 1 / 2 / 2 / 3; }
#page .ite-h:not(.ite-deco):has(> .ite-c-b) { grid-area: 1 / 2 / 2 / 3; }
#page .ite-c-c { grid-area: 1 / 3 / 2 / 5; }
#page .ite-t:has(> .ite-c-c) { grid-area: 1 / 3 / 2 / 5; }
#page .ite-h:not(.ite-deco):has(> .ite-c-c) { grid-area: 1 / 3 / 2 / 5; }
#page .ite-c-d { grid-area: 2 / 1 / 3 / 2; }
#page .ite-t:has(> .ite-c-d) { grid-area: 2 / 1 / 3 / 2; }
#page .ite-h:not(.ite-deco):has(> .ite-c-d) { grid-area: 2 / 1 / 3 / 2; }
#page .ite-c-e { grid-area: 3 / 1 / 4 / 2; }
#page .ite-t:has(> .ite-c-e) { grid-area: 3 / 1 / 4 / 2; }
#page .ite-h:not(.ite-deco):has(> .ite-c-e) { grid-area: 3 / 1 / 4 / 2; }
#page .ite-c-f { grid-area: 4 / 1 / 5 / 3; }
#page .ite-t:has(> .ite-c-f) { grid-area: 4 / 1 / 5 / 3; }
#page .ite-h:not(.ite-deco):has(> .ite-c-f) { grid-area: 4 / 1 / 5 / 3; }
#page .ite-c-g { grid-area: 2 / 4 / 3 / 5; }
#page .ite-t:has(> .ite-c-g) { grid-area: 2 / 4 / 3 / 5; }
#page .ite-h:not(.ite-deco):has(> .ite-c-g) { grid-area: 2 / 4 / 3 / 5; }
#page .ite-c-h { grid-area: 3 / 4 / 5 / 5; }
#page .ite-t:has(> .ite-c-h) { grid-area: 3 / 4 / 5 / 5; }
#page .ite-h:not(.ite-deco):has(> .ite-c-h) { grid-area: 3 / 4 / 5 / 5; }
#page .ite-c-i { grid-area: 4 / 3 / 5 / 4; }
#page .ite-t:has(> .ite-c-i) { grid-area: 4 / 3 / 5 / 4; }
#page .ite-h:not(.ite-deco):has(> .ite-c-i) { grid-area: 4 / 3 / 5 / 4; }
#page .ite-c-centro { grid-area: 2 / 2 / 4 / 4; }
#page .ite-t:has(> .ite-c-centro) { grid-area: 2 / 2 / 4 / 4; }
#page .ite-h:not(.ite-deco):has(> .ite-c-centro) { grid-area: 2 / 2 / 4 / 4; }
#page .ite-c-disco { grid-area: 2 / 2 / 4 / 4; margin: 9%; z-index: 1; }
#page .ite-t:has(> .ite-c-disco) { grid-area: 2 / 2 / 4 / 4; }
#page .ite-h:not(.ite-deco):has(> .ite-c-disco) { grid-area: 2 / 2 / 4 / 4; }
#page .ite-c-cuarto { grid-area: 2 / 2 / 3 / 3; z-index: 2; }
#page .ite-t:has(> .ite-c-cuarto) { grid-area: 2 / 2 / 3 / 3; }
#page .ite-h:not(.ite-deco):has(> .ite-c-cuarto) { grid-area: 2 / 2 / 3 / 3; }
#page .ite-c-puntos { grid-area: 3 / 3 / 4 / 4; margin: 22%; z-index: 2; }
#page .ite-t:has(> .ite-c-puntos) { grid-area: 3 / 3 / 4 / 4; }
#page .ite-h:not(.ite-deco):has(> .ite-c-puntos) { grid-area: 3 / 3 / 4 / 4; }

/* Franja Platino */
#page .ite-franja { background: var(--ite-azul); color: var(--ite-blanco); }
#page .ite-franja__fila { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; min-height: 72px; padding-block: 1rem; font-family: var(--ite-display); font-size: clamp(.95rem, 1.4vw, 1.0625rem); font-weight: 500; }
#page .ite-franja strong { font-weight: 800; }
#page .ite-franja__sep { width: 40px; height: 3px; background: var(--ite-celeste); }
#page .ite-h:not(.ite-deco):has(> .ite-franja__sep) { width: 40px; }
#page .ite-franja__puntos { width: 30px; height: 30px; }
#page .ite-h:not(.ite-deco):has(> .ite-franja__puntos) { width: 30px; }

@media (max-width: 900px) {
  #page .ite-hero__rejilla { grid-template-columns: 1fr; }
  #page .ite-composicion { justify-self: start; max-width: 420px; }
#page .ite-t:has(> .ite-composicion) { justify-self: start; }
#page .ite-h:not(.ite-deco):has(> .ite-composicion) { justify-self: start; max-width: 420px; }
}

/* ==========================================================================
   Soluciones
   ========================================================================== */
#page .ite-soluciones { background: var(--ite-niebla); }
#page .ite-soluciones__cabeza { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 3rem; align-items: end; margin-bottom: clamp(40px, 5vw, 60px); }
#page .ite-areas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }
#page .ite-area { background: var(--ite-blanco); padding: 30px 26px 18px; position: relative; }
#page .ite-area::before { content: ""; position: absolute; top: 0; left: 26px; width: 40px; height: var(--ite-regla); background: var(--ite-azul-claro); }
#page .ite-area::after { content: ""; position: absolute; top: 0; right: 0; width: 28px; height: 28px; background: var(--ite-hielo); border-radius: 0 0 0 100%; }
#page .ite-area h3 { font-size: var(--ite-t-h3); font-weight: 800; line-height: 1.3; min-height: 2.4em; margin-bottom: .5rem; }
#page .ite-area :is(ul, :where(.ite-ul)) { list-style: none; margin: 0; padding: 0; }
#page .ite-area :is(li, :where(.ite-li)) + :is(li, :where(.ite-li)) { border-top: 1px solid var(--ite-linea); }
#page .ite-area a { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .7rem 0; font-size: var(--ite-t-chico); font-weight: 500; line-height: 1.35; color: var(--ite-grafito); text-decoration: none; transition: color .2s; }
#page .ite-area a::after { content: ""; width: 7px; height: 7px; flex: none; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); opacity: .35; transition: opacity .2s, transform .3s var(--ite-ease); }
#page .ite-area a:hover { color: var(--ite-azul-claro); }
#page .ite-area a:hover::after { opacity: 1; transform: translateX(3px) rotate(45deg); }
@media (max-width: 1024px) { #page .ite-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { #page .ite-soluciones__cabeza { grid-template-columns: 1fr; } #page .ite-areas { grid-template-columns: 1fr; } #page .ite-area h3 { min-height: 0; } }

/* ==========================================================================
   Método (Así es trabajar con nosotros)
   ========================================================================== */
#page .ite-metodo__cabeza { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 1.5rem clamp(40px, 6vw, 96px); align-items: end; margin-bottom: clamp(44px, 5vw, 64px); }
#page .ite-pasos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3vw, 44px) clamp(24px, 3vw, 48px); }
#page .ite-paso { padding-top: 24px; border-top: 1px solid var(--ite-linea); position: relative; }
#page .ite-paso::before { content: ""; position: absolute; top: -1px; left: 0; width: 100%; height: var(--ite-regla); background: var(--ite-azul-claro); transform: scaleX(.125); transform-origin: left; transition: transform .5s var(--ite-ease); }
#page .ite-paso:hover::before { transform: scaleX(1); }
#page .ite-paso__icono { width: 52px; height: 52px; display: grid; place-items: center; background: var(--ite-hielo); color: var(--ite-azul); font-size: 26px; margin-bottom: 1.25rem; border-radius: 0 0 0 26px; }
#page .ite-h:not(.ite-deco):has(> .ite-paso__icono) { width: 52px; }
#page .ite-paso__icono svg { width: 24px; height: 24px; fill: currentColor; }
#page .ite-paso h3 { font-size: var(--ite-t-h3); font-weight: 700; line-height: 1.25; margin-bottom: .6rem; }
#page .ite-paso p { font-size: 1rem; line-height: 1.65; }
@media (max-width: 960px) { #page .ite-metodo__cabeza { grid-template-columns: 1fr; } #page .ite-pasos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { #page .ite-pasos { grid-template-columns: 1fr; } }

/* ==========================================================================
   Transformación (Platino Mentor) — banda azul
   ========================================================================== */
#page .ite-platino { background: var(--ite-azul); color: var(--ite-blanco); }
#page .ite-platino__rejilla { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
#page .ite-platino h2 { color: var(--ite-blanco); }
#page .ite-platino .ite-titulo::after { background: var(--ite-celeste); }
#page .ite-platino__texto { margin-top: 1.75rem; }
#page .ite-platino p { color: var(--ite-hielo); font-size: var(--ite-t-entrada); line-height: 1.7; max-width: 62ch; }
#page .ite-platino p + p { margin-top: 1.1rem; }
#page .ite-platino p strong { color: var(--ite-blanco); font-weight: 600; }
#page .ite-platino .ite-boton { margin-top: 2.25rem; }
#page .ite-sello { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); aspect-ratio: 1; width: 100%; max-width: 340px; justify-self: end; }
#page .ite-t:has(> .ite-sello) { justify-self: end; }
#page .ite-h:not(.ite-deco):has(> .ite-sello) { justify-self: end; width: 100%; max-width: 340px; }
#page .ite-sello__caja { grid-area: 1 / 1 / 3 / 3; background: var(--ite-blanco); color: var(--ite-azul); display: flex; flex-direction: column; justify-content: center; padding: 12%; }
#page .ite-t:has(> .ite-sello__caja) { grid-area: 1 / 1 / 3 / 3; }
#page .ite-h:not(.ite-deco):has(> .ite-sello__caja) { grid-area: 1 / 1 / 3 / 3; }
#page .ite-sello__caja b { font-family: var(--ite-display); font-weight: 800; font-size: clamp(2.4rem, 4.4vw, 3.75rem); line-height: 1; letter-spacing: -0.02em; }
#page .ite-sello__caja span { margin-top: .6rem; font-size: var(--ite-t-etiqueta); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ite-azul-claro); }
#page .ite-sello .ite-s-1 { grid-area: 1 / 3 / 2 / 4; }
#page .ite-sello .ite-t:has(> .ite-s-1) { grid-area: 1 / 3 / 2 / 4; }
#page .ite-sello .ite-h:not(.ite-deco):has(> .ite-s-1) { grid-area: 1 / 3 / 2 / 4; }
#page .ite-sello .ite-s-2 { grid-area: 2 / 3 / 3 / 4; }
#page .ite-sello .ite-t:has(> .ite-s-2) { grid-area: 2 / 3 / 3 / 4; }
#page .ite-sello .ite-h:not(.ite-deco):has(> .ite-s-2) { grid-area: 2 / 3 / 3 / 4; }
#page .ite-sello .ite-s-3 { grid-area: 3 / 1 / 4 / 2; }
#page .ite-sello .ite-t:has(> .ite-s-3) { grid-area: 3 / 1 / 4 / 2; }
#page .ite-sello .ite-h:not(.ite-deco):has(> .ite-s-3) { grid-area: 3 / 1 / 4 / 2; }
#page .ite-sello .ite-s-4 { grid-area: 3 / 2 / 4 / 4; }
#page .ite-sello .ite-t:has(> .ite-s-4) { grid-area: 3 / 2 / 4 / 4; }
#page .ite-sello .ite-h:not(.ite-deco):has(> .ite-s-4) { grid-area: 3 / 2 / 4 / 4; }
@media (max-width: 900px) { #page .ite-platino__rejilla { grid-template-columns: 1fr; } #page .ite-sello { justify-self: start; max-width: 260px; }
#page .ite-t:has(> .ite-sello) { justify-self: start; }
#page .ite-h:not(.ite-deco):has(> .ite-sello) { justify-self: start; max-width: 260px; } }

/* ==========================================================================
   Cifras — bloques sólidos
   ========================================================================== */
#page .ite-cifras__lista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); margin: clamp(40px, 5vw, 60px) 0 0; padding: 0; list-style: none; }
#page .ite-cifra { position: relative; overflow: hidden; background: var(--ite-azul); color: var(--ite-blanco); padding: clamp(24px, 2.6vw, 36px) clamp(20px, 2.2vw, 30px) clamp(26px, 2.8vw, 38px); min-height: 190px; display: flex; flex-direction: column; justify-content: flex-end; }
#page .ite-cifra:nth-child(even) { background: var(--ite-azul-claro); }
#page .ite-cifra .ite-pz--puntos { position: absolute; top: 14px; right: 14px; width: 30px; height: 30px; }
#page .ite-cifra .ite-h:not(.ite-deco):has(> .ite-pz--puntos) { width: 30px; }
#page .ite-cifra__valor { font-family: var(--ite-display); font-weight: 800; font-size: clamp(2.6rem, 4.6vw, 4rem); line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums lining-nums; }
#page .ite-cifra__valor small { font-size: .55em; font-weight: 700; margin-inline: .04em; vertical-align: .5em; }
#page .ite-cifra__etiqueta { margin-top: .9rem; font-size: var(--ite-t-etiqueta); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ite-hielo); }
#page .ite-cifra:nth-child(even) .ite-cifra__etiqueta { color: var(--ite-blanco); }
@media (max-width: 900px) { #page .ite-cifras__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } #page .ite-cifra { min-height: 160px; } }

/* ==========================================================================
   Testimonios
   ========================================================================== */
#page .ite-testimonios { background: var(--ite-niebla); }
#page .ite-testimonios__cabeza { max-width: 820px; margin-bottom: clamp(40px, 5vw, 60px); }
#page .ite-h:not(.ite-deco):has(> .ite-testimonios__cabeza) { max-width: 820px; }
#page .ite-testimonios__cabeza .ite-entrada { margin-top: 1.5rem; }
#page .ite-citas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); margin: 0; padding: 0; list-style: none; }
#page .ite-cita { margin: 0; height: 100%; display: flex; flex-direction: column; background: var(--ite-blanco); padding: clamp(26px, 2.8vw, 36px); position: relative; }
#page .ite-cita::after { content: ""; position: absolute; right: 0; bottom: 0; width: 44px; height: 44px; background: var(--ite-hielo); border-radius: 100% 0 0 0; }
#page .ite-cita__marca { width: 36px; height: 36px; fill: var(--ite-azul-claro); margin-bottom: 1.25rem; }
#page .ite-h:not(.ite-deco):has(> .ite-cita__marca) { width: 36px; }
#page .ite-cita blockquote { margin: 0 0 1.75rem; font-size: 1rem; line-height: 1.7; color: var(--ite-grafito); }
#page .ite-cita figcaption { margin-top: auto; display: flex; align-items: center; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid var(--ite-linea); padding-right: 40px; }
#page .ite-cita figcaption img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 1px solid var(--ite-linea); }
#page .ite-cita figcaption span { font-family: var(--ite-display); font-weight: 700; font-size: 1rem; line-height: 1.25; color: var(--ite-azul); }
@media (max-width: 960px) { #page .ite-citas { grid-template-columns: 1fr; } }

/* ==========================================================================
   Contacto (formulario Zoho + chat SalesIQ)
   ========================================================================== */
#page .ite-contacto__rejilla { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
#page .ite-contacto .ite-entrada { margin-top: 1.5rem; }
#page .ite-canales { list-style: none; margin: 2.25rem 0 0; padding: 0; border-top: 1px solid var(--ite-linea); }
#page .ite-canales :is(li, :where(.ite-li)) { border-bottom: 1px solid var(--ite-linea); }
#page .ite-canales a, #page .ite-canales button { width: 100%; display: flex; align-items: center; gap: 1rem; padding: 1rem 0; background: none; border: 0; cursor: pointer; text-align: left; text-decoration: none; font: 700 1.0625rem/1.3 var(--ite-display); color: var(--ite-grafito) !important; }
#page .ite-canales small { display: block; font: 600 var(--ite-t-etiqueta)/1.4 var(--ite-texto); letter-spacing: .08em; text-transform: uppercase; color: var(--ite-pizarra); }
#page .ite-canal__icono { width: 44px; height: 44px; flex: none; display: grid; place-items: center; background: var(--ite-hielo); color: var(--ite-azul); transition: background-color .25s var(--ite-ease), color .25s var(--ite-ease); }
#page .ite-t:has(> .ite-canal__icono) { flex: none; }
#page .ite-h:not(.ite-deco):has(> .ite-canal__icono) { flex: none; width: 44px; }
#page .ite-canal__icono svg { width: 20px; height: 20px; fill: currentColor; }
#page .ite-canales a:hover .ite-canal__icono, #page .ite-canales button:hover .ite-canal__icono { background: var(--ite-azul-claro); color: var(--ite-blanco); }
#page .ite-canales :is(a, button) > span:not(.ite-canal__icono) { min-width: 0; overflow-wrap: anywhere; } /* el correo se parte en pantallas angostas en vez de empujar la flecha */
#page .ite-contacto__rejilla > * { min-width: 0; }
#page .ite-canal__flecha { margin-left: auto; width: 20px; height: 20px; color: var(--ite-azul-claro); transition: transform .3s var(--ite-ease); }
#page .ite-t:has(> .ite-canal__flecha) { margin-left: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-canal__flecha) { margin-left: auto; width: 20px; }
#page .ite-canales a:hover .ite-canal__flecha, #page .ite-canales button:hover .ite-canal__flecha { transform: translateX(5px); }
#page .ite-formulario { position: relative; background: var(--ite-azul); isolation: isolate; }
#page .ite-formulario::before { content: ""; position: absolute; top: -16px; right: -16px; width: 64px; height: 64px; background: var(--ite-hielo); border-radius: 0 100% 0 0; z-index: -1; }
/* El iframe de Zoho queda oculto hasta que Zoho avisa su altura; mientras tanto se ve la vista del formulario */
#page .ite-formulario iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; overflow: hidden; opacity: 0; pointer-events: none; transition: opacity .5s var(--ite-ease); }
#page .ite-formulario.is-listo iframe { position: static; display: block; height: 930px; opacity: 1; pointer-events: auto; }
#page .ite-formulario.is-listo .ite-form-previa { display: none; }
#page .ite-form-previa { padding: clamp(28px, 4vw, 56px) clamp(22px, 4vw, 56px) 40px; color: var(--ite-blanco); }
#page .ite-form-previa__titulo { margin: 0; font-family: var(--ite-display); line-height: 1.15; color: var(--ite-blanco); font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; text-align: center; }
#page .ite-form-previa__intro { margin: 1.25rem 0 1.75rem; font-size: .9375rem; line-height: 1.55; color: var(--ite-hielo); }
#page .ite-form-previa__intro b { color: var(--ite-blanco); }
#page .ite-campo { margin-bottom: 1.1rem; }
#page .ite-campo label, #page .ite-campo > span { display: block; font-weight: 600; font-size: .9375rem; margin-bottom: .45rem; }
#page .ite-campo label i, #page .ite-campo > span i { color: var(--ite-celeste); font-style: normal; }
#page .ite-campo__doble { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#page .ite-campo__doble small { display: block; margin-top: .3rem; font-size: .8125rem; color: var(--ite-hielo); }
#page .ite-campo input, #page .ite-campo textarea { width: 100%; height: 44px; border: 0; border-radius: 0; background: var(--ite-blanco); font: inherit; padding: 0 12px; }
#page .ite-campo textarea { height: 104px; padding: 10px 12px; resize: none; }
#page .ite-form-previa__nota { font-size: .8125rem; line-height: 1.5; color: var(--ite-hielo); margin-top: .5rem; }
#page .ite-form-previa .ite-boton { margin: 1.75rem auto 0; display: flex; width: max-content; }
#page .ite-form-previa .ite-t:has(> .ite-boton) { margin: 1.75rem auto 0; }
#page .ite-form-previa .ite-h:not(.ite-deco):has(> .ite-boton) { margin: 1.75rem auto 0; width: max-content; }
#page .ite-form-previa__estado { margin-top: 1.25rem; text-align: center; font-size: .8125rem; color: var(--ite-hielo); }
#page .ite-form-previa__estado a { color: var(--ite-blanco); }
@media (max-width: 480px) { #page .ite-campo__doble { grid-template-columns: 1fr; } }
@media (min-width: 901px) and (max-width: 1240px) { #page .ite-formulario.is-listo iframe { height: 1050px; } }
@media (max-width: 900px) { #page .ite-contacto__rejilla { grid-template-columns: 1fr; } }
@media (max-width: 600px) { #page .ite-formulario.is-listo iframe { height: 960px; } #page .ite-formulario::before { display: none; } #page .ite-cumulo { --celda: 22px; } }

/* ==========================================================================
   Blog — estiliza la cuadrícula de Blog Designer Pack (.bdpp-*)
   ========================================================================== */
#page .ite-blog__cabeza { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 1.5rem clamp(40px, 6vw, 96px); align-items: start; margin-bottom: clamp(40px, 5vw, 60px); }
#page .ite-blog__cabeza p + p { margin-top: 1rem; }
#page .ite-blog__cabeza .ite-enlace-flecha { margin-top: 1.25rem; }
#page .ite-blog .bdpp-post-grid-inr-wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }
#page .ite-blog .bdpp-post-grid { width: auto !important; float: none !important; padding: 0 !important; }
#page .ite-blog .ite-h:not(.ite-deco):has(> .bdpp-post-grid) { width: auto !important; }
#page .ite-blog .bdpp-post-grid-content { height: 100%; border-top: 1px solid var(--ite-linea); padding: 24px 0 8px; position: relative; }
#page .ite-blog .bdpp-post-grid-content::before { content: ""; position: absolute; top: -1px; left: 0; width: 100%; height: 3px; background: var(--ite-azul-claro); transform: scaleX(.125); transform-origin: left; transition: transform .5s var(--ite-ease); }
#page .ite-blog .bdpp-post-grid:hover .bdpp-post-grid-content::before { transform: scaleX(1); }
#page .ite-blog .bdpp-post-margin-content { display: flex; flex-direction: column; height: 100%; }
#page .ite-blog .bdpp-post-meta { margin: -.3rem 0 .7rem; }
#page .ite-blog .bdpp-post-date { font-size: var(--ite-t-chico) !important; font-weight: 400; color: var(--ite-pizarra) !important; font-variant-numeric: tabular-nums; }
#page .ite-blog .bdpp-post-date i { display: none; }
#page .ite-blog .bdpp-post-title { font-family: var(--ite-display) !important; font-size: var(--ite-t-h3) !important; font-weight: 700 !important; line-height: 1.3 !important; margin: 0 0 .8rem !important; }
#page .ite-blog .bdpp-post-title a { color: var(--ite-azul) !important; text-decoration: none; }
#page .ite-blog .bdpp-post-title a:hover { color: var(--ite-azul-claro) !important; }
#page .ite-blog .bdpp-post-content { display: flex; flex-direction: column; flex: 1; }
#page .ite-blog .ite-t:has(> .bdpp-post-content) { flex: 1; }
#page .ite-blog .ite-h:not(.ite-deco):has(> .bdpp-post-content) { flex: 1; }
#page .ite-blog .bdpp-post-desc { font-size: var(--ite-t-chico); margin-bottom: 1.25rem; }
#page .ite-blog .bdpp-rdmr-btn { margin-top: auto; align-self: flex-start; background: none !important; border: 0 !important; border-radius: 0 !important; padding: .3em 0 !important; font-family: var(--ite-display); font-weight: 700; font-size: .9375rem !important; color: var(--ite-azul-claro) !important; text-decoration: none; }
#page .ite-blog .ite-t:has(> .bdpp-rdmr-btn) { margin-top: auto; align-self: flex-start; }
#page .ite-blog .ite-h:not(.ite-deco):has(> .bdpp-rdmr-btn) { margin-top: auto; align-self: flex-start; }
#page .ite-blog .bdpp-rdmr-btn:hover { color: var(--ite-azul) !important; }
@media (max-width: 960px) { #page .ite-blog__cabeza { grid-template-columns: 1fr; } #page .ite-blog .bdpp-post-grid-inr-wrap { grid-template-columns: 1fr; } }

/* ==========================================================================
   Pie
   ========================================================================== */
#page .ite-pie { background: var(--ite-grafito); color: #D5D9DF; padding-block: clamp(64px, 8vw, 96px) 32px; font-size: .96875rem; position: relative; overflow: hidden; }
#page .ite-pie a { color: #F0F2F5; text-decoration: none; }
#page .ite-pie a:hover { color: var(--ite-celeste); text-decoration: underline; }
#page .ite-pie__rejilla { display: grid; grid-template-columns: minmax(0, 4fr) repeat(3, minmax(0, 2.5fr)); gap: 40px; position: relative; z-index: 1; }
#page .ite-pie__marca img { width: 170px; }
#page .ite-pie h2 { font-family: var(--ite-display); font-size: .875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ite-blanco); margin-bottom: 1.25rem; }
#page .ite-pie h2::after { content: ""; display: block; width: 32px; height: 3px; margin-top: .75rem; background: var(--ite-azul-claro); }
#page .ite-pie :is(ul, :where(.ite-ul)) { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
#page .ite-pie address { font-style: normal; line-height: 1.7; }
#page .ite-pie__base { margin-top: 64px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 1rem; font-size: .875rem; color: #AEB4BD; position: relative; z-index: 1; }
@media (max-width: 960px) { #page .ite-pie__rejilla { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { #page .ite-pie__rejilla { grid-template-columns: 1fr; } }

/* ==========================================================================
   Páginas interiores
   ========================================================================== */

/* Portada de página: título + entrada a la izquierda, composición 3 × 3 a la derecha */
#page .ite-portada { padding-block: clamp(40px, 6vw, 88px); position: relative; overflow: hidden; }
#page .ite-portada__rejilla { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
#page .ite-migas { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1.25rem; padding: 0; list-style: none; font-size: var(--ite-t-chico); color: var(--ite-pizarra); }
#page .ite-migas :is(li, :where(.ite-li)) + :is(li, :where(.ite-li))::before { content: "/"; margin-right: .4rem; color: var(--ite-gris); }
#page .ite-migas a { color: var(--ite-azul-claro); text-decoration: none; }
#page .ite-migas a:hover { text-decoration: underline; }
#page .ite-portada h1 { font-size: clamp(2.2rem, 4.4vw, 3.6rem); font-weight: 800; line-height: 1.08; letter-spacing: -0.02em; }
#page .ite-portada .ite-hero__linea { margin-top: 24px; }
#page .ite-portada__texto { margin-top: 22px; }
#page .ite-portada__texto p { font-size: var(--ite-t-entrada); line-height: 1.65; max-width: 60ch; }
#page .ite-portada__texto p + p { margin-top: 1rem; }
#page .ite-portada .ite-hero__acciones { margin-top: 32px; }
#page .ite-mini { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); aspect-ratio: 1; width: 100%; max-width: 380px; justify-self: end; }
#page .ite-t:has(> .ite-mini) { justify-self: end; }
#page .ite-h:not(.ite-deco):has(> .ite-mini) { justify-self: end; width: 100%; max-width: 380px; }
#page .ite-mini > .ite-pz { position: relative; translate: calc(var(--px, 0) * var(--prof, 0) * 1px) calc(var(--py, 0) * var(--prof, 0) * 1px); }

/* Texto en dos columnas: título a la izquierda, párrafos a la derecha */
#page .ite-bloque { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1.5rem clamp(40px, 6vw, 96px); align-items: start; margin-bottom: clamp(44px, 5vw, 64px); }
#page .ite-bloque__texto p { font-size: var(--ite-t-entrada); line-height: 1.7; max-width: 62ch; }
#page .ite-bloque__texto p + p { margin-top: 1rem; }

/* Tarjetas de servicio (¿Qué hacemos?) */
#page .ite-tarjetas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }
#page .ite-tarjeta { background: var(--ite-blanco); padding: clamp(28px, 3vw, 40px); position: relative; overflow: hidden; }
#page .ite-tarjeta::before { content: ""; position: absolute; top: 0; left: clamp(28px, 3vw, 40px); width: 40px; height: var(--ite-regla); background: var(--ite-azul-claro); }
#page .ite-tarjeta::after { content: ""; position: absolute; right: 0; bottom: 0; width: 56px; height: 56px; background: var(--ite-hielo); border-radius: 100% 0 0 0; }
#page .ite-tarjeta .ite-paso__icono { margin-top: 8px; }
#page .ite-tarjeta h3 { font-size: var(--ite-t-h3); font-weight: 800; line-height: 1.25; margin-bottom: .75rem; }
#page .ite-tarjeta p { font-size: 1rem; line-height: 1.7; position: relative; z-index: 1; }
#page .ite-tarjeta--solida { background: var(--ite-azul); color: var(--ite-hielo); }
#page .ite-tarjeta--solida h3 { color: var(--ite-blanco); }
#page .ite-tarjeta--solida::before { background: var(--ite-celeste); }
#page .ite-tarjeta--solida::after { background: var(--ite-azul-claro); }
#page .ite-tarjeta--solida .ite-paso__icono { background: var(--ite-azul-claro); color: var(--ite-blanco); }

/* Beneficios en bloques sólidos */
#page .ite-beneficios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); margin: 0; padding: 0; list-style: none; }
#page .ite-beneficio { position: relative; overflow: hidden; min-height: 176px; display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem; padding: clamp(22px, 2.4vw, 32px); background: var(--ite-azul); color: var(--ite-blanco); }
#page .ite-beneficio:nth-child(4n+2), #page .ite-beneficio:nth-child(4n+3) { background: var(--ite-azul-claro); }
#page .ite-beneficio i.huge { font-size: 34px; }
#page .ite-beneficio h3 { color: var(--ite-blanco); font-size: 1.1875rem; font-weight: 700; line-height: 1.3; max-width: 22ch; }
#page .ite-beneficio .ite-pz--puntos { position: absolute; top: 16px; right: 16px; width: 30px; height: 30px; }
#page .ite-beneficio .ite-h:not(.ite-deco):has(> .ite-pz--puntos) { width: 30px; }

/* Bloque destacado (una idea en un plano de color) */
#page .ite-destacado { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 3fr); gap: clamp(24px, 4vw, 64px); align-items: center; background: var(--ite-azul); color: var(--ite-hielo); padding: clamp(32px, 5vw, 64px); position: relative; overflow: hidden; }
#page .ite-destacado p { font-size: clamp(1.125rem, 1.6vw, 1.375rem); line-height: 1.6; max-width: 56ch; }
#page .ite-destacado strong { color: var(--ite-blanco); }
#page .ite-destacado .ite-sello { max-width: 240px; width: 100%; }
#page .ite-destacado .ite-h:not(.ite-deco):has(> .ite-sello) { max-width: 240px; width: 100%; }
#page .ite-destacado .ite-sello__caja { padding: 10%; }
#page .ite-destacado .ite-sello__caja b { font-size: clamp(1.6rem, 2.6vw, 2.25rem); }
#page .ite-destacado .ite-sello__caja span { font-size: .6875rem; margin-top: .4rem; }

/* Lista con marcador Bauhaus */
#page .ite-lista-check { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
#page .ite-lista-check :is(li, :where(.ite-li)) { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 16px; align-items: start; padding: 18px 0; border-top: 1px solid var(--ite-linea); font-size: var(--ite-t-entrada); line-height: 1.5; color: var(--ite-grafito); }
#page .ite-lista-check :is(li, :where(.ite-li)):last-child { border-bottom: 1px solid var(--ite-linea); }
#page .ite-lista-check :is(li, :where(.ite-li))::before { content: ""; width: 24px; height: 24px; margin-top: 2px; background: var(--ite-azul-claro); border-radius: 0 0 0 100%; }
#page .ite-lista-check :is(li, :where(.ite-li)):nth-child(even)::before { background: var(--ite-azul); border-radius: 100% 0 0 0; }

/* Contacto: datos de la oficina */
#page .ite-oficina { margin-top: 2rem; padding: 24px; background: var(--ite-niebla); display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; align-items: start; max-width: 480px; }
#page .ite-h:not(.ite-deco):has(> .ite-oficina) { max-width: 480px; }
#page .ite-oficina address { font-style: normal; line-height: 1.6; color: var(--ite-grafito); }
#page .ite-oficina b { display: block; font-family: var(--ite-display); color: var(--ite-azul); margin-bottom: .25rem; }
#page .ite-oficina a { display: inline-block; margin-top: .5rem; font-weight: 600; }

/* Documento legal */
#page .ite-legal { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
#page .ite-indice { position: sticky; top: 108px; padding-top: 6px; }
#page .ite-indice b { display: block; font: 700 var(--ite-t-etiqueta)/1.3 var(--ite-display); letter-spacing: .1em; text-transform: uppercase; color: var(--ite-azul); margin-bottom: 1rem; }
#page .ite-indice :is(ol, :where(.ite-ul)) { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--ite-linea); }
#page .ite-indice a { display: block; padding: .45rem 0 .45rem 1rem; margin-left: -1px; border-left: 3px solid transparent; font-size: var(--ite-t-chico); color: var(--ite-pizarra); text-decoration: none; }
#page .ite-indice a:hover { color: var(--ite-azul-claro); }
#page .ite-indice a.is-activo { color: var(--ite-azul); border-left-color: var(--ite-azul-claro); font-weight: 600; }
#page .ite-legal__texto { max-width: 70ch; }
#page .ite-h:not(.ite-deco):has(> .ite-legal__texto) { max-width: 70ch; }
#page .ite-legal__texto h2 { font-size: clamp(1.3rem, 1.8vw, 1.5rem); font-weight: 800; margin: 2.75rem 0 .9rem; scroll-margin-top: 24px; }
#page .ite-legal__texto h2:first-of-type { margin-top: 2.25rem; }
#page .ite-legal__texto p { font-size: var(--ite-t-cuerpo); line-height: 1.8; color: var(--ite-pizarra); }
#page .ite-legal__texto p + p { margin-top: 1rem; }
#page .ite-legal__texto strong { color: var(--ite-grafito); }

@media (max-width: 960px) {
  #page .ite-tarjetas, #page .ite-beneficios { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #page .ite-tarjetas > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  #page .ite-legal { grid-template-columns: 1fr; }
  #page .ite-indice { position: static; }
}
@media (max-width: 900px) {
  #page .ite-portada__rejilla, #page .ite-bloque, #page .ite-destacado { grid-template-columns: 1fr; }
  #page .ite-portada__rejilla > div:first-child, #page .ite-bloque { text-align: center; justify-items: center; }
  #page .ite-migas { justify-content: center; }
  #page .ite-portada__texto p, #page .ite-bloque__texto p { margin-inline: auto; }
  #page .ite-mini { justify-self: center; max-width: 300px; }
#page .ite-t:has(> .ite-mini) { justify-self: center; }
#page .ite-h:not(.ite-deco):has(> .ite-mini) { justify-self: center; max-width: 300px; }
  #page .ite-tarjeta, #page .ite-beneficio { text-align: center; align-items: center; }
  #page .ite-tarjeta::before { left: 50%; translate: -50% 0; }
  #page .ite-tarjeta .ite-paso__icono { margin-inline: auto; }
#page .ite-tarjeta .ite-t:has(> .ite-paso__icono) { margin-inline: auto; }
#page .ite-tarjeta .ite-h:not(.ite-deco):has(> .ite-paso__icono) { margin-inline: auto; }
  #page .ite-beneficio h3 { margin-inline: auto; }
  #page .ite-destacado { text-align: center; justify-items: center; }
  #page .ite-destacado p { margin-inline: auto; }
  #page .ite-lista-check { max-width: 560px; margin-inline: auto; text-align: left; }
#page .ite-t:has(> .ite-lista-check) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-lista-check) { margin-inline: auto; max-width: 560px; }
  #page .ite-oficina { margin-inline: auto; text-align: left; }
#page .ite-t:has(> .ite-oficina) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-oficina) { margin-inline: auto; }
}
@media (max-width: 600px) { #page .ite-tarjetas, #page .ite-beneficios { grid-template-columns: 1fr; } }

/* Modo oscuro de los componentes interiores */
[data-tema="oscuro"] #page .ite-portada { background: var(--o-fondo); }
[data-tema="oscuro"] #page .ite-portada__texto p, [data-tema="oscuro"] #page .ite-bloque__texto p, [data-tema="oscuro"] #page .ite-legal__texto p, [data-tema="oscuro"] #page .ite-tarjeta p { color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-migas { color: var(--o-tenue); }
[data-tema="oscuro"] #page .ite-tarjeta { background: var(--o-superficie); }
[data-tema="oscuro"] #page .ite-tarjeta::after { background: var(--o-ficha); }
[data-tema="oscuro"] #page .ite-tarjeta--solida { background: #0A2B4A; }
[data-tema="oscuro"] #page .ite-tarjeta--solida p { color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-tarjeta--solida h3 { color: var(--o-fuerte); }
[data-tema="oscuro"] #page .ite-lista-check :is(li, :where(.ite-li)) { color: var(--o-fuerte); border-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-oficina { background: var(--o-superficie); }
[data-tema="oscuro"] #page .ite-oficina address { color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-oficina b { color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-indice :is(ol, :where(.ite-ul)) { border-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-indice a { color: var(--o-tenue); }
[data-tema="oscuro"] #page .ite-indice a.is-activo { color: var(--o-titulo); border-left-color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-indice b { color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-legal__texto strong { color: var(--o-fuerte); }
[data-tema="oscuro"] #page .ite-destacado { background: #0A2B4A; }
[data-tema="oscuro"] #page .ite-destacado p { color: var(--o-texto); }

/* ==========================================================================
   Catálogo y producto
   ========================================================================== */

/* Buscador del catálogo */
#page .ite-buscador { position: relative; max-width: 420px; width: 100%; }
#page .ite-h:not(.ite-deco):has(> .ite-buscador) { max-width: 420px; width: 100%; }
#page .ite-buscador input { width: 100%; height: 52px; padding: 0 16px 0 48px; border: 2px solid var(--ite-linea); border-radius: 0; background: var(--ite-blanco); font: 500 1rem/1 var(--ite-texto); color: var(--ite-grafito); transition: border-color .2s; }
#page .ite-buscador input::placeholder { color: #6B7280; }
#page .ite-buscador input:focus { outline: none; border-color: var(--ite-azul-claro); }
#page .ite-buscador svg { position: absolute; left: 16px; top: 50%; translate: 0 -50%; width: 20px; height: 20px; color: var(--ite-azul-claro); pointer-events: none; }
#page .ite-catalogo__cabeza { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 1.5rem 3rem; margin-bottom: clamp(32px, 4vw, 48px); }
#page .ite-catalogo__cabeza .ite-titulo { font-size: clamp(1.6rem, 2.6vw, 2.25rem); }

/* Tarjetas de producto */
#page .ite-catalogo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
#page .ite-producto { position: relative; display: flex; flex-direction: column; background: var(--ite-blanco); padding: 28px 26px 24px; border: 1px solid var(--ite-linea); transition: border-color .25s var(--ite-ease), translate .35s var(--ite-ease); }
#page .ite-producto[hidden] { display: none; }
#page .ite-producto::before { content: ""; position: absolute; top: -1px; left: -1px; width: 40px; height: var(--ite-regla); background: var(--ite-azul-claro); transition: width .45s var(--ite-ease); }
#page .ite-producto:hover { border-color: var(--ite-azul-claro); translate: 0 -3px; }
#page .ite-producto:hover::before { width: calc(100% + 2px); }
#page .ite-producto h3 { font-size: 1.1875rem; font-weight: 800; line-height: 1.25; margin-bottom: .6rem; }
#page .ite-producto p { font-size: .96875rem; line-height: 1.6; margin-bottom: 1.25rem; }
#page .ite-producto .ite-enlace-flecha { margin-top: auto; align-self: flex-start; font-size: .9375rem; }
#page .ite-producto .ite-t:has(> .ite-enlace-flecha) { margin-top: auto; align-self: flex-start; }
#page .ite-producto .ite-h:not(.ite-deco):has(> .ite-enlace-flecha) { margin-top: auto; align-self: flex-start; }
#page .ite-producto a.ite-producto__cubre::after { content: ""; position: absolute; inset: 0; }
#page .ite-producto--destacado { grid-column: span 2; background: var(--ite-azul); border-color: var(--ite-azul); color: var(--ite-hielo); padding: clamp(28px, 3vw, 40px); overflow: hidden; }
#page .ite-t:has(> .ite-producto--destacado) { grid-column: span 2; }
#page .ite-h:not(.ite-deco):has(> .ite-producto--destacado) { grid-column: span 2; }
#page .ite-producto--destacado h3 { color: var(--ite-blanco); font-size: clamp(1.6rem, 2.6vw, 2.25rem); }
#page .ite-producto--destacado p { font-size: var(--ite-t-entrada); max-width: 46ch; }
#page .ite-producto--destacado .ite-enlace-flecha { color: var(--ite-blanco) !important; border-bottom-color: rgba(255,255,255,.35); }
#page .ite-producto--destacado::before { background: var(--ite-celeste); }
#page .ite-producto--destacado .ite-cumulo { --celda: clamp(26px, 3vw, 40px); }
#page .ite-catalogo__vacio { grid-column: 1 / -1; padding: 40px; text-align: center; background: var(--ite-niebla); font-size: var(--ite-t-entrada); }
#page .ite-t:has(> .ite-catalogo__vacio) { grid-column: 1 / -1; }
#page .ite-h:not(.ite-deco):has(> .ite-catalogo__vacio) { grid-column: 1 / -1; }
#page .ite-catalogo__vacio a { font-weight: 600; }

/* Accesos rápidos a grupos */
#page .ite-atajos { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
#page .ite-atajos a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 16px; border: 2px solid var(--ite-linea); font: 700 .9375rem/1 var(--ite-display); color: var(--ite-azul) !important; text-decoration: none; transition: border-color .2s, background-color .2s; }
#page .ite-atajos a:hover { border-color: var(--ite-azul-claro); background: var(--ite-hielo); }
#page .ite-atajos a span { font: 600 .8125rem/1 var(--ite-texto); color: var(--ite-pizarra); }
#page .ite-grupo { scroll-margin-top: 100px; }
#page .ite-grupo + .ite-grupo { margin-top: clamp(56px, 7vw, 88px); }

/* Anuncio del producto */
#page .ite-anuncio { background: var(--ite-azul-claro); color: var(--ite-blanco); }
#page .ite-anuncio .ite-envoltura { display: flex; align-items: center; gap: 1rem; min-height: 68px; padding-block: 1rem; font: 700 clamp(1rem, 1.5vw, 1.125rem)/1.4 var(--ite-display); }
#page .ite-anuncio .ite-pz--puntos { width: 28px; height: 28px; flex: none; }
#page .ite-anuncio .ite-t:has(> .ite-pz--puntos) { flex: none; }
#page .ite-anuncio .ite-h:not(.ite-deco):has(> .ite-pz--puntos) { flex: none; width: 28px; }

/* Logo de marca del producto */
#page .ite-marca-producto { display: block; max-width: 220px; max-height: 110px; width: auto; height: auto; margin-bottom: 1.25rem; }
#page .ite-h:not(.ite-deco):has(> .ite-marca-producto) { max-width: 220px; width: auto; }
#page .ite-marca-producto--ancha { max-width: 320px; max-height: 64px; }
#page .ite-h:not(.ite-deco):has(> .ite-marca-producto--ancha) { max-width: 320px; }

/* Video de YouTube con miniatura */
#page .ite-video-marco { position: relative; padding: 0 0 18px 18px; }
#page .ite-video-marco::before { content: ""; position: absolute; left: 0; bottom: 0; width: 70%; height: 70%; background: var(--ite-hielo); z-index: 0; }
#page .ite-video-marco::after { content: ""; position: absolute; right: -14px; top: -14px; width: 64px; height: 64px; background: var(--ite-azul-claro); border-radius: 0 100% 0 0; z-index: 0; }
#page .ite-video { position: relative; z-index: 1; aspect-ratio: 16 / 9; background: var(--ite-azul); overflow: hidden; }
#page .ite-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
#page .ite-video__btn { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; cursor: pointer; background: var(--ite-azul); }
#page .ite-h:not(.ite-deco):has(> .ite-video__btn) { width: 100%; }
#page .ite-video__btn img { width: 100%; height: 100%; object-fit: cover; opacity: .9; transition: opacity .3s, scale .6s var(--ite-ease); }
#page .ite-video__btn:hover img { opacity: 1; scale: 1.03; }
#page .ite-video__play { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 84px; height: 84px; display: grid; place-items: center; background: var(--ite-azul-claro); border-radius: 0 0 0 42px; transition: background-color .25s, scale .35s var(--ite-ease); }
#page .ite-h:not(.ite-deco):has(> .ite-video__play) { width: 84px; }
#page .ite-video__btn:hover .ite-video__play { background: var(--ite-azul); scale: 1.06; }
#page .ite-video__play svg { width: 30px; height: 30px; fill: var(--ite-blanco); translate: 3px 0; }
#page .ite-video-enlace { display: inline-block; margin-top: .9rem; font-size: var(--ite-t-chico); position: relative; z-index: 1; }

/* Precios de licenciamiento */
#page .ite-precios { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: clamp(14px, 1.6vw, 20px); margin: 0; padding: 0; list-style: none; }
#page .ite-precio { display: flex; flex-direction: column; background: var(--ite-blanco); border: 1px solid var(--ite-linea); padding: 26px 22px 22px; position: relative; }
#page .ite-precio::before { content: ""; position: absolute; top: -1px; left: -1px; right: -1px; height: 4px; background: var(--ite-azul-claro); }
#page .ite-precio:nth-child(odd)::before { background: var(--ite-azul); }
#page .ite-precio h3 { font-size: 1.125rem; font-weight: 800; margin-bottom: 1rem; }
#page .ite-precio :is(ul, :where(.ite-ul)) { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
#page .ite-precio :is(li, :where(.ite-li)) { display: grid; gap: .15rem; padding-bottom: .9rem; border-bottom: 1px solid var(--ite-linea); font-size: .9375rem; color: var(--ite-pizarra); }
#page .ite-precio :is(li, :where(.ite-li)):last-child { border-bottom: 0; padding-bottom: 0; }
#page .ite-precio :is(li, :where(.ite-li)) b { font: 800 1.5rem/1.2 var(--ite-display); color: var(--ite-azul); font-variant-numeric: tabular-nums; }
#page .ite-precio small { margin-top: auto; padding-top: 1rem; font-size: .8125rem; color: var(--ite-pizarra); }

/* Banner de imagen */
#page .ite-banner { display: block; width: 100%; height: auto; border: 1px solid var(--ite-linea); }
#page .ite-h:not(.ite-deco):has(> .ite-banner) { width: 100%; }

/* Razones (lista en dos columnas con marcador) */
#page .ite-razones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3vw, 44px) clamp(24px, 3vw, 48px); margin: 0; padding: 0; list-style: none; }
#page .ite-razones :is(li, :where(.ite-li)) { padding-top: 22px; border-top: 1px solid var(--ite-linea); position: relative; }
#page .ite-razones :is(li, :where(.ite-li))::before { content: ""; position: absolute; top: -12px; left: 0; width: 24px; height: 24px; background: var(--ite-azul-claro); border-radius: 0 0 100% 0; }
#page .ite-razones :is(li, :where(.ite-li)):nth-child(3n+2)::before { background: var(--ite-azul); border-radius: 50%; }
#page .ite-razones :is(li, :where(.ite-li)):nth-child(3n)::before { background: var(--ite-celeste); border-radius: 0; }
#page .ite-razones h3 { font-size: 1.125rem; font-weight: 700; line-height: 1.3; margin: .5rem 0 .6rem; }
#page .ite-razones p { font-size: 1rem; line-height: 1.65; }

/* Logos de servicios (proveedores de nube) */
#page .ite-logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
#page .ite-logos :is(li, :where(.ite-li)) { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; min-height: 140px; padding: 20px 12px; background: var(--ite-blanco); border: 1px solid var(--ite-linea); text-align: center; font: 700 .9375rem/1.3 var(--ite-display); color: var(--ite-azul); }
#page .ite-logos img { width: 48px; height: 48px; object-fit: contain; }
#page .ite-logos--solido :is(li, :where(.ite-li)) { background: var(--ite-azul); border-color: var(--ite-azul); min-height: 110px; }
#page .ite-logos--solido :is(li, :where(.ite-li)):nth-child(even) { background: var(--ite-azul-claro); border-color: var(--ite-azul-claro); }
#page .ite-logos--solido img { width: auto; height: auto; max-width: 120px; max-height: 56px; }
[data-tema="oscuro"] #page .ite-logos--solido :is(li, :where(.ite-li)) { background: #0A2B4A; border-color: #0A2B4A; }
[data-tema="oscuro"] #page .ite-logos--solido img { background: none; padding: 0; }

/* Cifras con más elementos y etiquetas largas */
#page .ite-cifras__lista--auto { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
#page .ite-cifras__lista--auto .ite-cifra__valor small { vertical-align: baseline; font-size: .42em; margin-left: .1em; }
[data-tema="oscuro"] #page .ite-marca-producto { background: #fff; padding: 10px 14px; }
#page .ite-cifras__lista--auto .ite-cifra__etiqueta { text-transform: none; letter-spacing: 0; font-size: .9375rem; line-height: 1.45; font-weight: 500; }
#page .ite-fuente { margin-top: 1.25rem; font-size: var(--ite-t-chico); color: var(--ite-pizarra); max-width: 70ch; }
#page .ite-h:not(.ite-deco):has(> .ite-fuente) { max-width: 70ch; }

@media (max-width: 1024px) { #page .ite-catalogo, #page .ite-razones { grid-template-columns: repeat(2, minmax(0, 1fr)); } #page .ite-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  #page .ite-catalogo__cabeza { flex-direction: column; align-items: center; text-align: center; }
  #page .ite-atajos { justify-content: center; }
  #page .ite-producto { text-align: center; align-items: center; }
  #page .ite-producto .ite-enlace-flecha { align-self: center; }
#page .ite-producto .ite-t:has(> .ite-enlace-flecha) { align-self: center; }
#page .ite-producto .ite-h:not(.ite-deco):has(> .ite-enlace-flecha) { align-self: center; }
  #page .ite-producto--destacado p { margin-inline: auto; }
  #page .ite-marca-producto { margin-inline: auto; }
#page .ite-t:has(> .ite-marca-producto) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-marca-producto) { margin-inline: auto; }
  #page .ite-anuncio .ite-envoltura { justify-content: center; text-align: center; }
  #page .ite-razones :is(li, :where(.ite-li)) { text-align: center; }
  #page .ite-razones :is(li, :where(.ite-li))::before { left: 50%; translate: -50% 0; }
  #page .ite-precio { text-align: center; }
  #page .ite-video-marco { max-width: 640px; margin-inline: auto; width: 100%; }
#page .ite-t:has(> .ite-video-marco) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-video-marco) { margin-inline: auto; max-width: 640px; width: 100%; }
}
@media (max-width: 640px) {
  #page .ite-catalogo, #page .ite-razones { grid-template-columns: 1fr; }
  #page .ite-producto--destacado { grid-column: auto; }
#page .ite-t:has(> .ite-producto--destacado) { grid-column: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-producto--destacado) { grid-column: auto; }
  #page .ite-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Modo oscuro: catálogo y producto */
[data-tema="oscuro"] #page .ite-producto, [data-tema="oscuro"] #page .ite-precio, [data-tema="oscuro"] #page .ite-logos :is(li, :where(.ite-li)) { background: var(--o-superficie); border-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-producto p, [data-tema="oscuro"] #page .ite-razones p, [data-tema="oscuro"] #page .ite-precio :is(li, :where(.ite-li)), [data-tema="oscuro"] #page .ite-fuente, [data-tema="oscuro"] #page .ite-precio small { color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-producto:hover { border-color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-producto--destacado { background: #0A2B4A; border-color: #0A2B4A; }
[data-tema="oscuro"] #page .ite-producto--destacado p { color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-producto--destacado h3, [data-tema="oscuro"] #page .ite-producto--destacado .ite-enlace-flecha { color: var(--o-fuerte) !important; }
[data-tema="oscuro"] #page .ite-precio :is(li, :where(.ite-li)) { border-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-precio :is(li, :where(.ite-li)) b, [data-tema="oscuro"] #page .ite-logos :is(li, :where(.ite-li)) { color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-buscador input { background: var(--o-superficie); border-color: var(--o-linea); color: var(--o-fuerte); }
[data-tema="oscuro"] #page .ite-buscador input::placeholder { color: var(--o-tenue); }
[data-tema="oscuro"] #page .ite-atajos a { border-color: var(--o-linea); color: var(--o-titulo) !important; }
[data-tema="oscuro"] #page .ite-atajos a:hover { background: var(--o-ficha); }
[data-tema="oscuro"] #page .ite-atajos a span { color: var(--o-tenue); }
[data-tema="oscuro"] #page .ite-catalogo__vacio { background: var(--o-superficie); }
[data-tema="oscuro"] #page .ite-razones :is(li, :where(.ite-li)) { border-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-video-marco::before { background: var(--o-ficha); }
[data-tema="oscuro"] #page .ite-anuncio { background: #0A5B8A; }
[data-tema="oscuro"] #page .ite-banner { border-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-logos img { background: #fff; padding: 6px; }

/* ==========================================================================
   Recursos, calculadoras, eventos, blog y promociones
   ========================================================================== */

/* Tarjeta de herramienta (con ícono) */
#page .ite-producto .ite-paso__icono { margin-bottom: 1rem; }

/* Calculadoras: capa de estilo sobre el HTML original (sin tocar su script).
   El !important gana al <style> interno de cada widget HTML de Elementor. */
#page .ite-calc { background: var(--ite-blanco); border: 1px solid var(--ite-linea); padding: clamp(24px, 3.4vw, 44px); position: relative; }
#page .ite-calc::before { content: ""; position: absolute; top: -1px; left: -1px; right: -1px; height: 6px; background: var(--ite-azul); }
#page .ite-calc::after { content: ""; position: absolute; right: -1px; bottom: -1px; width: 56px; height: 56px; background: var(--ite-hielo); border-radius: 100% 0 0 0; pointer-events: none; }
#page .ite-calc [class*="container"], #page .ite-calc [class*="card"], #page .ite-calc [class*="wrap"] { background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; max-width: none !important; margin: 0 !important; border-radius: 0 !important; }
#page .ite-calc h2 { font: 800 clamp(1.4rem, 2.2vw, 1.75rem)/1.2 var(--ite-display) !important; color: var(--ite-azul) !important; margin: 0 0 1.5rem !important; text-align: left !important; }
#page .ite-calc .card > h3 { font: 700 1rem/1.35 var(--ite-display) !important; color: var(--ite-azul) !important; margin: 0 0 .75rem !important; }
[data-tema="oscuro"] #page .ite-calc .card > h3 { color: var(--o-titulo) !important; }
#page .ite-calc h2::after { content: ""; display: block; width: 56px; height: 3px; margin-top: 14px; background: var(--ite-azul-claro); }
#page .ite-calc label { display: block; font: 600 .9375rem/1.4 var(--ite-texto) !important; color: var(--ite-grafito) !important; margin: 1.1rem 0 .45rem !important; }
#page .ite-calc input[type="number"], #page .ite-calc input[type="text"], #page .ite-calc input[type="date"], #page .ite-calc select {
  width: 100% !important; height: 50px !important; padding: 0 14px !important; border: 2px solid var(--ite-linea) !important; border-radius: 0 !important;
  background: var(--ite-blanco) !important; font: 500 1.0625rem/1 var(--ite-texto) !important; color: var(--ite-grafito) !important; box-shadow: none !important; box-sizing: border-box !important;
}
#page .ite-calc input:focus, #page .ite-calc select:focus { outline: none !important; border-color: var(--ite-azul-claro) !important; }
#page .ite-calc .input-error { border-color: #B42318 !important; }
#page .ite-calc .error-msg { display: block; min-height: 0; margin-top: .35rem; font-size: .875rem !important; font-weight: 600; color: #B42318 !important; }
#page .ite-calc .radio-group { display: flex !important; flex-wrap: wrap; gap: 10px !important; margin: 0 !important; }
#page .ite-calc .radio-item { flex: 1 1 200px; display: flex !important; align-items: center; gap: .6rem; margin: 0 !important; padding: 14px 16px !important; border: 2px solid var(--ite-linea) !important; border-radius: 0 !important; background: var(--ite-blanco) !important; cursor: pointer; font-weight: 600 !important; }
#page .ite-calc .ite-t:has(> .radio-item) { flex: 1 1 200px; }
#page .ite-calc .ite-h:not(.ite-deco):has(> .radio-item) { flex: 1 1 200px; }
#page .ite-calc .radio-item:has(input:checked) { border-color: var(--ite-azul-claro) !important; background: var(--ite-hielo) !important; color: var(--ite-azul) !important; }
#page .ite-calc input[type="radio"], #page .ite-calc input[type="checkbox"] { accent-color: var(--ite-azul-claro); width: 18px; height: 18px; margin: 0; }
#page .ite-calc button { min-height: 52px !important; margin-top: 1.5rem !important; padding: 0 2rem !important; border: 0 !important; border-radius: 0 !important; background: var(--ite-azul-claro) !important; color: var(--ite-blanco) !important; font: 700 1rem/1 var(--ite-display) !important; cursor: pointer; box-shadow: none !important; width: auto !important; transition: background-color .25s var(--ite-ease); }
#page .ite-calc button:hover { background: var(--ite-azul) !important; }
#page .ite-calc [class*="nota"], #page .ite-calc .hint, #page .ite-calc .small, #page .ite-calc .info-uma, #page .ite-calc .tope-aviso { font-size: .875rem !important; color: var(--ite-pizarra) !important; margin-top: .5rem; }
#page .ite-calc [class*="result"] { margin-top: 2rem !important; padding: clamp(20px, 2.6vw, 32px) !important; background: var(--ite-niebla) !important; border: 0 !important; border-top: 4px solid var(--ite-azul-claro) !important; border-radius: 0 !important; }
#page .ite-calc .title-sec { font: 700 var(--ite-t-etiqueta)/1.3 var(--ite-display) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--ite-azul) !important; margin-bottom: 1rem !important; background: none !important; padding: 0 !important; }
#page .ite-calc .res-table { width: 100% !important; border-collapse: collapse !important; font-size: 1rem; }
#page .ite-calc .ite-h:not(.ite-deco):has(> .res-table) { width: 100% !important; }
#page .ite-calc .res-table td { padding: .75rem 0 !important; border: 0 !important; border-bottom: 1px solid var(--ite-linea) !important; color: var(--ite-grafito) !important; background: none !important; }
#page .ite-calc .res-table td:last-child { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
#page .ite-calc .neto-box { margin-top: 1.25rem !important; padding: 20px 22px !important; background: var(--ite-azul) !important; color: var(--ite-hielo) !important; border-radius: 0 !important; text-align: left !important; }
#page .ite-calc .neto-box p { margin: 0 0 .25rem !important; color: var(--ite-hielo) !important; font-weight: 600; }
#page .ite-calc .neto-box h3 { margin: 0 !important; color: var(--ite-blanco) !important; font: 800 clamp(1.8rem, 3vw, 2.4rem)/1.1 var(--ite-display) !important; font-variant-numeric: tabular-nums; }
#page .ite-calc .legal-note { margin-top: 1.25rem !important; padding: 0 !important; background: none !important; border: 0 !important; font-size: .875rem !important; line-height: 1.6 !important; color: var(--ite-pizarra) !important; }
#page .ite-calc .result-box, #page .ite-calc .result, #page .ite-calc .agui-result { display: none; } /* el script de cada calculadora los muestra */
#page .ite-calc .modal-back, #page .ite-calc .tope-aviso { display: none; } /* también los abre su script */
#page .ite-calc .desc { display: block; margin-top: .2rem; font-size: .8125rem !important; font-weight: 400; color: var(--ite-pizarra) !important; }
#page .ite-calc .title-sec span, #page .ite-calc .title-sec small { display: block; margin-top: .3rem; font-weight: 600; letter-spacing: .04em; text-transform: none; color: var(--ite-pizarra); }
#page .ite-calc .desglose-box { margin-top: 1rem !important; padding: 0 !important; background: none !important; border: 0 !important; }
#page .ite-calc .desglose-box > div { display: flex !important; justify-content: space-between; gap: 1rem; padding: .6rem 0 !important; border-bottom: 1px dashed var(--ite-linea) !important; font-size: .9375rem; color: var(--ite-grafito) !important; background: none !important; }
#page .ite-calc .desglose-box > div span:last-child { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
#page .ite-calc .total-row td { font-weight: 800 !important; color: var(--ite-azul) !important; }
[data-tema="oscuro"] #page .ite-calc .desc, [data-tema="oscuro"] #page .ite-calc .title-sec span { color: var(--o-tenue) !important; }
[data-tema="oscuro"] #page .ite-calc .desglose-box > div { color: var(--o-fuerte) !important; border-color: var(--o-linea) !important; }
[data-tema="oscuro"] #page .ite-calc .total-row td { color: var(--o-titulo) !important; }
#page .ite-calc .tope-aviso { padding: 12px 14px !important; background: var(--ite-hielo) !important; color: var(--ite-azul) !important; border-left: 0 !important; }
#page .ite-calc .modal-back { position: fixed !important; inset: 0 !important; z-index: 200; align-items: center; justify-content: center; padding: 20px !important; background: rgba(0, 25, 45, .72) !important; }
#page .ite-calc .modal { position: relative; max-width: 460px !important; width: 100% !important; padding: 32px 28px !important; background: var(--ite-blanco) !important; border-radius: 0 !important; box-shadow: none !important; border-top: 6px solid var(--ite-azul-claro) !important; }
#page .ite-calc .ite-h:not(.ite-deco):has(> .modal) { max-width: 460px !important; width: 100% !important; }
#page .ite-calc .modal::after { content: ""; position: absolute; right: 0; bottom: 0; width: 48px; height: 48px; background: var(--ite-hielo); border-radius: 100% 0 0 0; }
#page .ite-calc .modal h3, #page .ite-calc .modal h4 { font: 800 1.25rem/1.3 var(--ite-display) !important; color: var(--ite-azul) !important; margin: 0 0 .75rem !important; }
#page .ite-calc .modal .actions { display: flex; gap: 10px; justify-content: flex-end; }
#page .ite-calc .btn-ghost { background: transparent !important; color: var(--ite-azul) !important; border: 2px solid var(--ite-azul) !important; }
[data-tema="oscuro"] #page .ite-calc .modal { background: var(--o-superficie) !important; color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-calc .modal h3, [data-tema="oscuro"] #page .ite-calc .modal h4 { color: var(--o-titulo) !important; }
[data-tema="oscuro"] #page .ite-calc .tope-aviso { background: var(--o-ficha) !important; color: var(--o-titulo) !important; }
#page .ite-calc-pie { margin-top: 1rem; font-size: var(--ite-t-chico); color: var(--ite-pizarra); }

/* Problema / solución */
#page .ite-contraste { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(16px, 2vw, 24px); }
#page .ite-contraste > div { padding: clamp(26px, 3vw, 40px); }
#page .ite-contraste__problema { background: var(--ite-blanco); border: 1px solid var(--ite-linea); }
#page .ite-contraste__solucion { background: var(--ite-azul); color: var(--ite-hielo); }
#page .ite-contraste h3 { font-size: 1.3125rem; font-weight: 800; line-height: 1.25; margin-bottom: 1rem; }
#page .ite-contraste__solucion h3 { color: var(--ite-blanco); }
#page .ite-contraste__solucion p { margin-bottom: 1rem; line-height: 1.65; }
#page .ite-contraste__solucion a { color: var(--ite-blanco); font-weight: 600; text-decoration-color: var(--ite-celeste); }
#page .ite-contraste__solucion a:hover { color: var(--ite-celeste); }
#page .ite-contraste :is(ul, :where(.ite-ul)) { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
#page .ite-contraste :is(li, :where(.ite-li)) { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 12px; line-height: 1.5; }
#page .ite-contraste :is(li, :where(.ite-li))::before { content: ""; width: 14px; height: 14px; margin-top: 5px; background: var(--ite-azul-claro); border-radius: 0 0 0 100%; }
#page .ite-contraste__solucion :is(li, :where(.ite-li))::before { background: var(--ite-celeste); border-radius: 50%; }

/* Preguntas desplegables (details/summary nativo, accesible sin JS) */
#page .ite-preguntas { border-top: 1px solid var(--ite-linea); }
#page .ite-preguntas details { border-bottom: 1px solid var(--ite-linea); }
#page .ite-preguntas summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem 0; font: 700 1.125rem/1.35 var(--ite-display); color: var(--ite-azul); }
#page .ite-preguntas summary::-webkit-details-marker { display: none; }
#page .ite-preguntas summary::after { content: ""; flex: none; width: 28px; height: 28px; background: var(--ite-hielo); border-radius: 0 0 0 100%; transition: rotate .35s var(--ite-ease), background-color .25s; }
#page .ite-preguntas details[open] summary::after { rotate: -90deg; background: var(--ite-azul-claro); }
#page .ite-preguntas summary:hover { color: var(--ite-azul-claro); }
#page .ite-preguntas .ite-preguntas__resp { padding: 0 0 1.5rem; max-width: 72ch; line-height: 1.7; }
#page .ite-preguntas .ite-h:not(.ite-deco):has(> .ite-preguntas__resp) { max-width: 72ch; }
#page .ite-preguntas__resp :is(ul, :where(.ite-ul)) { margin: .5rem 0 0; padding-left: 1.2rem; }
#page .ite-preguntas__resp :is(li, :where(.ite-li)) + :is(li, :where(.ite-li)) { margin-top: .35rem; }

/* Eventos */
#page .ite-eventos { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(14px, 1.6vw, 20px); }
#page .ite-evento { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: clamp(20px, 3vw, 40px); align-items: start; padding: clamp(22px, 2.6vw, 32px); background: var(--ite-blanco); border: 1px solid var(--ite-linea); position: relative; }
#page .ite-evento__fecha { background: var(--ite-azul); color: var(--ite-blanco); text-align: center; padding: 14px 8px 16px; font-family: var(--ite-display); position: relative; overflow: hidden; }
#page .ite-evento__fecha::after { content: ""; position: absolute; right: 0; bottom: 0; width: 26px; height: 26px; background: var(--ite-azul-claro); border-radius: 100% 0 0 0; }
#page .ite-evento__fecha b { display: block; font-size: 2.5rem; font-weight: 800; line-height: 1; }
#page .ite-evento__fecha span { display: block; margin-top: .3rem; font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ite-hielo); }
#page .ite-evento__fecha small { display: block; font-size: .75rem; color: var(--ite-hielo); margin-top: .15rem; }
#page .ite-evento h3 { font-size: 1.25rem; font-weight: 800; line-height: 1.25; margin-bottom: .5rem; }
#page .ite-evento__meta { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin-bottom: .75rem; font-size: var(--ite-t-chico); font-weight: 600; color: var(--ite-azul-claro); }
#page .ite-evento__meta span { display: inline-flex; align-items: center; gap: .4rem; }
#page .ite-evento__meta i.huge { font-size: 18px; }
#page .ite-evento p { font-size: 1rem; line-height: 1.65; max-width: 70ch; }
#page .ite-evento .ite-boton { min-height: 46px; font-size: .9375rem; }
#page .ite-evento--pasado { grid-template-columns: 120px minmax(0, 1fr); }
#page .ite-evento--pasado .ite-evento__fecha { background: var(--ite-pizarra); }
#page .ite-evento--pasado .ite-evento__fecha::after { background: var(--ite-gris); }
#page .ite-eventos-vacio { padding: 32px; background: var(--ite-niebla); text-align: center; }

/* Promoción */
#page .ite-promo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
#page .ite-promo img { width: 100%; height: auto; border: 1px solid var(--ite-linea); }

/* Blog (archivo de Astra) — funciona con el marcado real del tema */
.blog #page .ast-row, .archive #page .ast-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); margin: 0 !important; }
.blog #page .ast-article-post, .archive #page .ast-article-post { width: auto !important; padding: 0 !important; margin: 0 !important; float: none !important; }
.blog #page .ite-h:not(.ite-deco):has(> .ast-article-post), .archive #page .ite-h:not(.ite-deco):has(> .ast-article-post) { width: auto !important; }
.blog #page .ast-article-inner, .archive #page .ast-article-inner { height: 100%; background: var(--ite-blanco); border: 1px solid var(--ite-linea); padding: 26px 24px 22px !important; position: relative; display: flex; flex-direction: column; transition: border-color .25s var(--ite-ease); }
.blog #page .ast-article-inner::before, .archive #page .ast-article-inner::before { content: ""; position: absolute; top: -1px; left: -1px; width: 40px; height: 3px; background: var(--ite-azul-claro); transition: width .45s var(--ite-ease); }
.blog #page .ast-article-inner:hover, .archive #page .ast-article-inner:hover { border-color: var(--ite-azul-claro); }
.blog #page .ast-article-inner:hover::before, .archive #page .ast-article-inner:hover::before { width: calc(100% + 2px); }
.blog #page .post-content, .archive #page .post-content { display: flex; flex-direction: column; height: 100%; padding: 0 !important; }
.blog #page .entry-title, .archive #page .entry-title { order: 1; font: 700 1.1875rem/1.3 var(--ite-display) !important; margin: 0 0 .75rem !important; }
.blog #page .ite-t:has(> .entry-title), .archive #page .ite-t:has(> .entry-title) { order: 1; }
.blog #page .ite-h:not(.ite-deco):has(> .entry-title), .archive #page .ite-h:not(.ite-deco):has(> .entry-title) { order: 1; }
.blog #page .entry-title a, .archive #page .entry-title a { color: var(--ite-azul) !important; text-decoration: none; }
.blog #page .entry-title a:hover, .archive #page .entry-title a:hover { color: var(--ite-azul-claro) !important; }
.blog #page .ast-blog-meta-container, .archive #page .ast-blog-meta-container { order: 0; margin-bottom: .75rem !important; font-size: var(--ite-t-etiqueta) !important; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ite-pizarra) !important; }
.blog #page .ite-t:has(> .ast-blog-meta-container), .archive #page .ite-t:has(> .ast-blog-meta-container) { order: 0; }
.blog #page .ite-h:not(.ite-deco):has(> .ast-blog-meta-container), .archive #page .ite-h:not(.ite-deco):has(> .ast-blog-meta-container) { order: 0; }
.blog #page .ast-blog-meta-container a, .archive #page .ast-blog-meta-container a { color: var(--ite-azul-claro) !important; text-decoration: none; }
.blog #page .ast-excerpt-container, .archive #page .ast-excerpt-container { order: 2; font-size: .96875rem; line-height: 1.6; color: var(--ite-pizarra); margin-bottom: 1rem; }
.blog #page .ite-t:has(> .ast-excerpt-container), .archive #page .ite-t:has(> .ast-excerpt-container) { order: 2; }
.blog #page .ite-h:not(.ite-deco):has(> .ast-excerpt-container), .archive #page .ite-h:not(.ite-deco):has(> .ast-excerpt-container) { order: 2; }
.blog #page .read-more, .archive #page .read-more { order: 3; margin: auto 0 0 !important; }
.blog #page .ite-t:has(> .read-more), .archive #page .ite-t:has(> .read-more) { order: 3; margin: auto 0 0 !important; }
.blog #page .ite-h:not(.ite-deco):has(> .read-more), .archive #page .ite-h:not(.ite-deco):has(> .read-more) { order: 3; margin: auto 0 0 !important; }
.blog #page .read-more a, .archive #page .read-more a { font: 700 .9375rem/1 var(--ite-display); color: var(--ite-azul-claro) !important; text-decoration: none; border-bottom: 2px solid var(--ite-hielo); padding-bottom: .3rem; }
.blog #page .read-more a:hover, .archive #page .read-more a:hover { border-bottom-color: var(--ite-azul-claro); }
#page .ast-pagination { margin-top: clamp(40px, 5vw, 60px); }
#page .ast-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
#page .ast-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 46px; height: 46px; padding: 0 14px; border: 2px solid var(--ite-linea); font: 700 .9375rem/1 var(--ite-display); color: var(--ite-azul) !important; text-decoration: none; border-radius: 0 !important; }
#page .ast-pagination .ite-h:not(.ite-deco):has(> .page-numbers) { min-width: 46px; }
#page .ast-pagination .page-numbers.current { background: var(--ite-azul); border-color: var(--ite-azul); color: var(--ite-blanco) !important; }
#page .ast-pagination a.page-numbers:hover { border-color: var(--ite-azul-claro); background: var(--ite-hielo); }
#page .ast-pagination .dots { border-color: transparent; }

/* Artículo (entrada individual) */
#page .ite-articulo { max-width: 72ch; margin-inline: auto; }
#page .ite-t:has(> .ite-articulo) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-articulo) { margin-inline: auto; max-width: 72ch; }
#page .ite-articulo__meta { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin-top: 1.25rem; font-size: var(--ite-t-chico); color: var(--ite-pizarra); }
#page .ite-articulo__meta span { display: inline-flex; align-items: center; gap: .4rem; }
#page .ite-articulo__meta i.huge { color: var(--ite-azul-claro); font-size: 18px; }
.single-post #page .entry-content p, #page .ite-articulo.entry-content p { font-size: 1.125rem; line-height: 1.8; color: var(--ite-grafito); margin: 0 0 1.25rem; }
/* Párrafos que son solo negritas = subtítulos (el script les pone .ite-subtitulo) */
.single-post #page .entry-content p.ite-subtitulo, #page .ite-articulo p.ite-subtitulo { margin: 2.5rem 0 1rem; font: 800 clamp(1.3rem, 2vw, 1.5rem)/1.3 var(--ite-display); color: var(--ite-azul); }
.single-post #page .entry-content p.ite-subtitulo::before, #page .ite-articulo p.ite-subtitulo::before { content: ""; display: block; width: 40px; height: 3px; margin-bottom: .9rem; background: var(--ite-azul-claro); }
.single-post #page .entry-content :is(ul, :where(.ite-ul)), #page .ite-articulo.entry-content :is(ul, :where(.ite-ul)) { margin: 0 0 1.5rem; padding: 0; list-style: none; display: grid; gap: .75rem; }
.single-post #page .entry-content :is(li, :where(.ite-li)), #page .ite-articulo.entry-content :is(li, :where(.ite-li)) { position: relative; padding-left: 28px; font-size: 1.0625rem; line-height: 1.7; color: var(--ite-grafito); }
.single-post #page .entry-content :is(li, :where(.ite-li))::before, #page .ite-articulo.entry-content :is(li, :where(.ite-li))::before { content: ""; position: absolute; left: 0; top: .55em; width: 12px; height: 12px; background: var(--ite-azul-claro); border-radius: 0 0 0 100%; }
.single-post #page .entry-content a, #page .ite-articulo a { color: var(--ite-azul-claro); font-weight: 600; }
#page .ite-articulo__nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--ite-linea); }
#page .ite-articulo__nav a { font: 700 1rem/1.3 var(--ite-display); color: var(--ite-azul) !important; text-decoration: none; }
#page .ite-articulo__nav a:hover { color: var(--ite-azul-claro) !important; }

@media (max-width: 1024px) { .blog #page .ast-row, .archive #page .ast-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  #page .ite-contraste, #page .ite-promo { grid-template-columns: 1fr; }
  #page .ite-contraste > div { text-align: left; }
  #page .ite-evento, #page .ite-evento--pasado { grid-template-columns: 96px minmax(0, 1fr); }
  #page .ite-evento .ite-boton { grid-column: 1 / -1; justify-self: start; }
#page .ite-evento .ite-t:has(> .ite-boton) { grid-column: 1 / -1; justify-self: start; }
#page .ite-evento .ite-h:not(.ite-deco):has(> .ite-boton) { grid-column: 1 / -1; justify-self: start; }
  #page .ite-evento__fecha b { font-size: 2rem; }
  #page .ite-promo { text-align: center; }
  #page .ite-articulo__meta { justify-content: center; }
}
@media (max-width: 640px) { .blog #page .ast-row, .archive #page .ast-row { grid-template-columns: 1fr; } #page .ite-evento, #page .ite-evento--pasado { grid-template-columns: 1fr; } #page .ite-evento__fecha { width: 110px; }
#page .ite-h:not(.ite-deco):has(> .ite-evento__fecha) { width: 110px; } }

/* Modo oscuro de la tanda 3 */
[data-tema="oscuro"] #page .ite-calc, [data-tema="oscuro"] #page .ite-contraste__problema, [data-tema="oscuro"] #page .ite-evento, [data-tema="oscuro"] .blog #page .ast-article-inner, [data-tema="oscuro"] .archive #page .ast-article-inner { background: var(--o-superficie); border-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-calc::after { background: var(--o-ficha); }
[data-tema="oscuro"] #page .ite-calc h2 { color: var(--o-titulo) !important; }
[data-tema="oscuro"] #page .ite-calc label, [data-tema="oscuro"] #page .ite-calc .res-table td { color: var(--o-fuerte) !important; }
[data-tema="oscuro"] #page .ite-calc input[type="number"], [data-tema="oscuro"] #page .ite-calc input[type="text"], [data-tema="oscuro"] #page .ite-calc input[type="date"], [data-tema="oscuro"] #page .ite-calc select, [data-tema="oscuro"] #page .ite-calc .radio-item { background: var(--o-fondo) !important; border-color: var(--o-linea) !important; color: var(--o-fuerte) !important; }
[data-tema="oscuro"] #page .ite-calc .radio-item:has(input:checked) { background: var(--o-ficha) !important; border-color: var(--o-enlace) !important; color: var(--o-titulo) !important; }
[data-tema="oscuro"] #page .ite-calc [class*="result"] { background: var(--o-fondo) !important; }
[data-tema="oscuro"] #page .ite-calc .title-sec { color: var(--o-titulo) !important; }
[data-tema="oscuro"] #page .ite-calc .res-table td { border-color: var(--o-linea) !important; }
[data-tema="oscuro"] #page .ite-calc [class*="nota"], [data-tema="oscuro"] #page .ite-calc .legal-note, [data-tema="oscuro"] #page .ite-calc .hint, [data-tema="oscuro"] #page .ite-calc-pie { color: var(--o-texto) !important; }
[data-tema="oscuro"] #page .ite-calc .error-msg { color: #FF8A80 !important; }
[data-tema="oscuro"] #page .ite-contraste__solucion { background: #0A2B4A; color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-preguntas, [data-tema="oscuro"] #page .ite-preguntas details { border-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-preguntas summary { color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-preguntas summary::after { background: var(--o-ficha); }
[data-tema="oscuro"] #page .ite-preguntas details[open] summary::after { background: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-evento p, [data-tema="oscuro"] #page .ite-articulo__meta, [data-tema="oscuro"] .blog #page .ast-excerpt-container { color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-evento__meta { color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-evento__fecha { background: #0A2B4A; }
[data-tema="oscuro"] #page .ite-evento--pasado .ite-evento__fecha { background: #34465A; }
[data-tema="oscuro"] #page .ite-eventos-vacio { background: var(--o-superficie); }
[data-tema="oscuro"] .blog #page .entry-title a, [data-tema="oscuro"] .archive #page .entry-title a { color: var(--o-titulo) !important; }
[data-tema="oscuro"] .blog #page .ast-blog-meta-container { color: var(--o-tenue) !important; }
[data-tema="oscuro"] #page .ast-pagination .page-numbers { border-color: var(--o-linea); color: var(--o-titulo) !important; }
[data-tema="oscuro"] #page .ast-pagination .page-numbers.current { background: #0A2B4A; border-color: #0A2B4A; color: var(--o-fuerte) !important; }
[data-tema="oscuro"] .single-post #page .entry-content p, [data-tema="oscuro"] #page .ite-articulo p, [data-tema="oscuro"] .single-post #page .entry-content :is(li, :where(.ite-li)), [data-tema="oscuro"] #page .ite-articulo :is(li, :where(.ite-li)) { color: var(--o-texto); }
[data-tema="oscuro"] .single-post #page .entry-content p.ite-subtitulo, [data-tema="oscuro"] #page .ite-articulo p.ite-subtitulo { color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-articulo p b { color: var(--o-fuerte); }
[data-tema="oscuro"] #page .ite-articulo a, [data-tema="oscuro"] .single-post #page .entry-content a { color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-articulo__nav { border-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-articulo__nav a { color: var(--o-titulo) !important; }
[data-tema="oscuro"] #page .ite-promo img { border-color: var(--o-linea); }

/* Pestañas (licenciamiento Anual / Tradicional, planes, etc.) */
#page .ite-pestanas__lista { display: inline-flex; flex-wrap: wrap; gap: 0; margin-bottom: clamp(24px, 3vw, 36px); border: 2px solid var(--ite-azul); }
#page .ite-pestanas__lista button { min-height: 48px; padding: 0 24px; border: 0; background: transparent; font: 700 1rem/1 var(--ite-display); color: var(--ite-azul); cursor: pointer; transition: background-color .25s var(--ite-ease), color .25s var(--ite-ease); }
#page .ite-pestanas__lista button + button { border-left: 2px solid var(--ite-azul); }
#page .ite-pestanas__lista button[aria-selected="true"] { background: var(--ite-azul); color: var(--ite-blanco); }
#page .ite-pestanas__lista button:hover:not([aria-selected="true"]) { background: var(--ite-hielo); }
#page .ite-pestanas__panel[hidden] { display: none; }
#page .ite-pestanas__panel > * + * { margin-top: clamp(20px, 2.4vw, 28px); }
[data-tema="oscuro"] #page .ite-pestanas__lista { border-color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-pestanas__lista button { color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-pestanas__lista button + button { border-color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-pestanas__lista button[aria-selected="true"] { background: #0A5B8A; color: var(--o-fuerte); }
[data-tema="oscuro"] #page .ite-pestanas__lista button:hover:not([aria-selected="true"]) { background: var(--o-ficha); }
@media (max-width: 900px) { #page .ite-pestanas { text-align: center; } #page .ite-pestanas__panel { text-align: left; } }

/* Contenido genérico de secciones generadas */
#page .ite-titulo--largo { font-size: clamp(1.5rem, 2.4vw, 2rem); }
#page .ite-subtitulo-seccion { font-size: var(--ite-t-h3); font-weight: 800; margin: clamp(28px, 3vw, 40px) 0 1rem; }
#page .ite-texto-rico { max-width: 72ch; font-size: var(--ite-t-entrada); line-height: 1.7; }
#page .ite-h:not(.ite-deco):has(> .ite-texto-rico) { max-width: 72ch; }
#page .ite-texto-rico p + p { margin-top: 1rem; }
#page .ite-texto-rico :is(ul, :where(.ite-ul)) { margin: 1rem 0 0; padding: 0; list-style: none; display: grid; gap: .6rem; }
#page .ite-texto-rico :is(li, :where(.ite-li)) { position: relative; padding-left: 26px; }
#page .ite-texto-rico :is(li, :where(.ite-li))::before { content: ""; position: absolute; left: 0; top: .5em; width: 12px; height: 12px; background: var(--ite-azul-claro); border-radius: 0 0 0 100%; }
#page .ite-texto-rico a { font-weight: 600; }
#page .ite-texto-rico table { width: 100%; border-collapse: collapse; margin-top: 1rem; font-size: .9375rem; display: block; overflow-x: auto; }
#page .ite-texto-rico :is(td, th) { min-width: 5.5rem; } /* en móvil la tabla se desliza en lugar de partir palabras */
#page .ite-portada__texto, #page .ite-texto-rico, #page .ite-preguntas__resp { overflow-wrap: anywhere; }
#page .ite-preguntas__resp table { display: block; overflow-x: auto; }
#page .ite-video-marco--seccion { max-width: 760px; margin-inline: auto; }
#page .ite-t:has(> .ite-video-marco--seccion) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-video-marco--seccion) { margin-inline: auto; max-width: 760px; }
#page .ite-texto-rico td, #page .ite-texto-rico th { padding: .6rem .5rem; border-bottom: 1px solid var(--ite-linea); text-align: left; }
#page .ite-seccion-imagenes { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }
#page .ite-seccion-imagenes img { max-height: 420px; width: auto; border: 1px solid var(--ite-linea); }
#page .ite-seccion-imagenes .ite-img--bloque { background: #0B1E33; border-color: #0B1E33; padding: clamp(18px, 2.4vw, 28px) clamp(24px, 3.2vw, 40px); box-sizing: content-box; }
[data-tema="oscuro"] #page .ite-seccion-imagenes .ite-img--bloque { background: transparent; border-color: var(--o-linea, #22364A); }
#page .ite-bloque-sep + .ite-bloque-sep { margin-top: clamp(32px, 4vw, 48px); }
[data-tema="oscuro"] #page .ite-texto-rico { color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-texto-rico td, [data-tema="oscuro"] #page .ite-texto-rico th { border-color: var(--o-linea); }

/* ---------- Interruptor de tema ---------- */
#page .ite-tema { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.35); background: transparent; color: var(--ite-blanco); cursor: pointer; border-radius: 0 0 0 22px; transition: border-color .25s var(--ite-ease), background-color .25s var(--ite-ease); }
#page .ite-t:has(> .ite-tema) { flex: none; }
#page .ite-h:not(.ite-deco):has(> .ite-tema) { flex: none; width: 44px; }
#page .ite-tema:hover { border-color: var(--ite-blanco); background: rgba(255,255,255,.08); }
#page .ite-tema svg { width: 20px; height: 20px; fill: currentColor; grid-area: 1 / 1; transition: opacity .3s var(--ite-ease), rotate .5s var(--ite-ease), scale .5s var(--ite-ease); }
#page .ite-tema__sol { opacity: 0; rotate: -90deg; scale: .5; }
[data-tema="oscuro"] #page .ite-tema__luna { opacity: 0; rotate: 90deg; scale: .5; }
[data-tema="oscuro"] #page .ite-tema__sol { opacity: 1; rotate: 0deg; scale: 1; }
@media (min-width: 1121px) { #page .ite-tema { margin-left: -.5rem; } }
@media (max-width: 1120px) { #page .ite-tema { order: 2; }
#page .ite-t:has(> .ite-tema) { order: 2; }
#page .ite-h:not(.ite-deco):has(> .ite-tema) { order: 2; } }
@media (max-width: 420px) { #page .ite-tema { width: 40px; height: 40px; }
#page .ite-h:not(.ite-deco):has(> .ite-tema) { width: 40px; } }

/* Opciones del encabezado (en WordPress: Apariencia › Personalizar › Encabezado iteSoluciones).
   Si el botón se oculta en la barra, aparece al final del menú desplegable. */
#page .ite-nav__cta { display: none; }
#page .ite-nav .ite-nav__cta .ite-boton { display: flex; justify-content: center; width: 100%; min-height: 52px; margin-top: 1.25rem; padding: 0 1.6rem; border-bottom: 0; font: 700 1rem/1 var(--ite-display); }
#page .ite-nav .ite-nav__cta .ite-h:not(.ite-deco):has(> .ite-boton) { width: 100%; }
#page .ite-cabecera--sin-tema .ite-tema { display: none; }
@media (min-width: 601px) and (max-width: 1120px) {
  #page .ite-cabecera--sin-cta-tablet .ite-cabecera__cta { display: none; }
  #page .ite-cabecera--sin-cta-tablet .ite-nav__cta { display: block; border-bottom: 0; }
}
@media (max-width: 600px) {
  #page .ite-cabecera--sin-cta-movil .ite-cabecera__cta { display: none; }
  #page .ite-cabecera--sin-cta-movil .ite-nav__cta { display: block; border-bottom: 0; }
}

/* ==========================================================================
   Modo oscuro — misma marca, fondos azul noche; contrastes AA verificados
   texto #C3CEDA 11.5:1 · títulos #8CC8EA 10.1:1 · enlaces #66B1D6 7.7:1
   ========================================================================== */
[data-tema="oscuro"] {
  --o-fondo: #0B1520; --o-superficie: #122232; --o-banda: #0F1C2A; --o-linea: #24384C;
  --o-texto: #C3CEDA; --o-fuerte: #EEF3F8; --o-titulo: #8CC8EA; --o-enlace: #66B1D6; --o-tenue: #9FB0C2; --o-ficha: #16324A;
  color-scheme: dark;
}
[data-tema="oscuro"] body, [data-tema="oscuro"] .ite-body { background: var(--o-fondo); }
[data-tema="oscuro"] .ite { color: var(--o-texto); }
[data-tema="oscuro"] :where(.ite) #page ::selection { background: #1B3A55; color: var(--o-fuerte); }
[data-tema="oscuro"] .ite-body { scrollbar-color: var(--ite-azul-claro) var(--o-fondo); }
[data-tema="oscuro"] :where(.ite) #page :where(h1, h2, h3) { color: var(--o-titulo); }
[data-tema="oscuro"] :where(.ite) #page a { color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-nav__lista > :is(li, :where(.ite-li)) > a, [data-tema="oscuro"] #page .ite-nav__lista > :is(li, :where(.ite-li)) > a:hover { color: var(--ite-blanco); }
[data-tema="oscuro"] #page .ite-sub { background: #0F2236; color: var(--o-texto); border-top-color: var(--ite-celeste); box-shadow: 0 22px 44px rgba(0, 0, 0, .45); }
[data-tema="oscuro"] #page .ite-sub__titulo { color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-sub__etiqueta { color: var(--o-fuerte); }
[data-tema="oscuro"] #page .ite-sub__lista a, [data-tema="oscuro"] #page .ite-sub__lista span { color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-sub__lista a:hover, [data-tema="oscuro"] #page .ite-sub__lista a[aria-current], [data-tema="oscuro"] #page .ite-sub__titulo a:hover, [data-tema="oscuro"] #page .ite-sub__etiqueta a:hover { color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-sub__lista a::before { background: #24405C; }
[data-tema="oscuro"] #page .ite-sub__lista a:hover::before, [data-tema="oscuro"] #page .ite-sub__lista a[aria-current]::before { background: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-sub__sueltos { border-color: var(--o-linea); }
[data-tema="oscuro"] :where(.ite) #page .ite-oscuro .ite-sub :focus-visible { outline-color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-pie a { color: #E3E9F0; }
[data-tema="oscuro"] #page .ite-pie a:hover { color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-hero, [data-tema="oscuro"] #page .ite-seccion { background: var(--o-fondo); }
[data-tema="oscuro"] #page .ite-hero h1 { color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-hero__texto, [data-tema="oscuro"] #page .ite-entrada, [data-tema="oscuro"] #page .ite-paso p, [data-tema="oscuro"] #page .ite-blog .bdpp-post-desc, [data-tema="oscuro"] #page .ite-blog__cabeza p { color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-soluciones, [data-tema="oscuro"] #page .ite-testimonios { background: var(--o-banda); }
[data-tema="oscuro"] #page .ite-area, [data-tema="oscuro"] #page .ite-cita { background: var(--o-superficie); }
[data-tema="oscuro"] #page .ite-area :is(li, :where(.ite-li)) + :is(li, :where(.ite-li)), [data-tema="oscuro"] #page .ite-paso, [data-tema="oscuro"] #page .ite-canales, [data-tema="oscuro"] #page .ite-canales :is(li, :where(.ite-li)), [data-tema="oscuro"] #page .ite-cita figcaption, [data-tema="oscuro"] #page .ite-blog .bdpp-post-grid-content { border-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-area a, [data-tema="oscuro"] #page .ite-cita blockquote, [data-tema="oscuro"] #page .ite-canales a, [data-tema="oscuro"] #page .ite-canales button { color: var(--o-fuerte) !important; }
[data-tema="oscuro"] #page .ite-area a:hover { color: var(--o-enlace) !important; }
[data-tema="oscuro"] #page .ite-area::after, [data-tema="oscuro"] #page .ite-cita::after { background: var(--o-ficha); }
[data-tema="oscuro"] #page .ite-enlace-flecha { color: var(--o-titulo) !important; border-bottom-color: var(--o-linea); }
[data-tema="oscuro"] #page .ite-enlace-flecha:hover { border-bottom-color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-titulo::after, [data-tema="oscuro"] #page .ite-hero__linea, [data-tema="oscuro"] #page .ite-paso::before, [data-tema="oscuro"] #page .ite-blog .bdpp-post-grid-content::before, [data-tema="oscuro"] #page .ite-area::before { background: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-paso__icono, [data-tema="oscuro"] #page .ite-canal__icono { background: var(--o-ficha); color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-canales small { color: var(--o-tenue); }
[data-tema="oscuro"] #page .ite-canal__flecha { color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-cita__marca { fill: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-cita figcaption span, [data-tema="oscuro"] #page .ite-blog .bdpp-post-title a { color: var(--o-titulo) !important; }
[data-tema="oscuro"] #page .ite-blog .bdpp-post-date { color: var(--o-tenue) !important; }
[data-tema="oscuro"] #page .ite-blog .bdpp-rdmr-btn { color: var(--o-enlace) !important; }
[data-tema="oscuro"] #page .ite-cabecera, [data-tema="oscuro"] #page .ite-franja { background: #06325A; }
[data-tema="oscuro"] #page .ite-platino { background: #0A2B4A; }
[data-tema="oscuro"] #page .ite-platino p { color: var(--o-texto); }
[data-tema="oscuro"] #page .ite-sello__caja { background: var(--o-superficie); color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-sello__caja span { color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-pie { background: #070E16; }
[data-tema="oscuro"] #page .ite-boton--blanco { background: var(--o-fuerte); }
/* Figuras: los matices claros se oscurecen para no deslumbrar */
[data-tema="oscuro"] #page .ite-pz--hielo { background: #16324A; }
[data-tema="oscuro"] #page .ite-pz--gris { background: #34465A; }
[data-tema="oscuro"] #page .ite-pz--puntos.ite-pz--gris-p { --c: #3E546B; }
[data-tema="oscuro"] #page .ite-pz--rayas.ite-pz--gris-r { --c: #3E546B; }
[data-tema="oscuro"] #page .ite-pz--rayas.ite-pz--pizarra-r { --c: #6B7A8C; }
[data-tema="oscuro"] #page .ite-pz--pizarra { background: #3A4656; }
[data-tema="oscuro"] #page .ite-mini--marca { --ite-azul: color-mix(in oklab, var(--m1), #fff 18%); }
[data-tema="oscuro"] #page .ite-mini--marca .ite-pz--hielo { background: color-mix(in srgb, var(--m1) 24%, #0B1520); }
[data-tema="oscuro"] #page .ite-mini--marca .ite-pz--pizarra { background: color-mix(in srgb, var(--m4) 60%, #6B7A8C); }
[data-tema="oscuro"] #page .ite-mini--marca .ite-pz--rayas.ite-pz--pizarra-r { --c: color-mix(in srgb, var(--m4) 45%, #9AA8B8); }
[data-tema="oscuro"] #page .ite-formulario::before { background: var(--o-ficha); }
/* Transición suave solo al cambiar de tema */
#page .ite-cambiando-tema .ite, #page .ite-cambiando-tema .ite * { transition: background-color .4s ease, color .4s ease, border-color .4s ease, fill .4s ease !important; }

/* ==========================================================================
   Tablet y móvil: contenido centrado
   (las listas de productos y los canales de contacto conservan la alineación
   a la izquierda dentro de su bloque, porque así se leen y se tocan mejor)
   ========================================================================== */
@media (max-width: 900px) {
  #page .ite-hero__rejilla > div:first-child { text-align: center; }
  #page .ite-hero h1 span { display: inline; }
  #page .ite-hero h1 span + span::before { content: " "; }
  #page .ite-hero__linea { margin-inline: auto; }
#page .ite-t:has(> .ite-hero__linea) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-hero__linea) { margin-inline: auto; }
  #page .ite-hero__texto { margin-inline: auto; }
#page .ite-t:has(> .ite-hero__texto) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-hero__texto) { margin-inline: auto; }
  #page .ite-hero__acciones { justify-content: center; }
  #page .ite-composicion { justify-self: center; }
#page .ite-t:has(> .ite-composicion) { justify-self: center; }
#page .ite-h:not(.ite-deco):has(> .ite-composicion) { justify-self: center; }
  #page .ite-franja__fila { justify-content: center; text-align: center; }

  #page .ite-titulo { text-align: center; }
  #page .ite-titulo::after { margin-inline: auto; }
  .ite-anim #page .ite-titulo:is([data-anim], :where(.ite-anim-b, .ite-anim-der, .ite-anim-izq))::after { transform-origin: center; }
  #page .ite-entrada { margin-inline: auto; text-align: center; }
#page .ite-t:has(> .ite-entrada) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-entrada) { margin-inline: auto; }

  #page .ite-soluciones__cabeza { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  #page .ite-area h3 { text-align: center; min-height: 0; }
  #page .ite-area::before { left: 50%; translate: -50% 0; }

  #page .ite-metodo__cabeza { justify-items: center; }
  #page .ite-paso { text-align: center; }
  #page .ite-paso__icono { margin-inline: auto; }
#page .ite-t:has(> .ite-paso__icono) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-paso__icono) { margin-inline: auto; }
  #page .ite-paso::before { transform-origin: center; left: 0; }
  #page .ite-paso p { max-width: 46ch; margin-inline: auto; }

  #page .ite-platino__rejilla { justify-items: center; text-align: center; }
  #page .ite-platino p { margin-inline: auto; }
  #page .ite-sello { justify-self: center; }
#page .ite-t:has(> .ite-sello) { justify-self: center; }
#page .ite-h:not(.ite-deco):has(> .ite-sello) { justify-self: center; }

  #page .ite-cifras__lista { text-align: center; }
  #page .ite-cifra { align-items: center; }

  #page .ite-testimonios__cabeza { margin-inline: auto; text-align: center; }
#page .ite-t:has(> .ite-testimonios__cabeza) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-testimonios__cabeza) { margin-inline: auto; }
  #page .ite-cita { text-align: center; align-items: center; }
  #page .ite-cita figcaption { justify-content: center; padding-right: 0; width: 100%; }

  #page .ite-contacto__rejilla > div:first-child { text-align: center; }
  #page .ite-canales { max-width: 480px; margin-inline: auto; text-align: left; }
#page .ite-t:has(> .ite-canales) { margin-inline: auto; }
#page .ite-h:not(.ite-deco):has(> .ite-canales) { margin-inline: auto; max-width: 480px; }

  #page .ite-blog__cabeza { justify-items: center; text-align: center; }
  #page .ite-blog__cabeza > div { max-width: 60ch; }
  #page .ite-blog .bdpp-post-margin-content { align-items: center; text-align: center; }
  #page .ite-blog .bdpp-rdmr-btn { align-self: center; }
#page .ite-blog .ite-t:has(> .bdpp-rdmr-btn) { align-self: center; }
#page .ite-blog .ite-h:not(.ite-deco):has(> .bdpp-rdmr-btn) { align-self: center; }
  #page .ite-blog .bdpp-post-grid-content::before { transform-origin: center; }

  #page .ite-pie__rejilla { text-align: center; justify-items: center; }
  #page .ite-pie__marca img { margin-inline: auto; }
  #page .ite-pie h2::after { margin-inline: auto; }
  #page .ite-pie__base { justify-content: center; text-align: center; }
}
@media (max-width: 960px) and (min-width: 561px) { #page .ite-pie__rejilla { grid-template-columns: 1fr 1fr; } #page .ite-pie__marca { grid-column: 1 / -1; }
#page .ite-t:has(> .ite-pie__marca) { grid-column: 1 / -1; }
#page .ite-h:not(.ite-deco):has(> .ite-pie__marca) { grid-column: 1 / -1; } }

/* ---------- Salto al contenido ---------- */
#page .ite-saltar { position: absolute; left: -9999px; top: 12px; z-index: 100; padding: .75rem 1rem; background: var(--ite-blanco); color: var(--ite-azul) !important; font-weight: 700; }
#page .ite-saltar:focus { left: 12px; }

/* ==========================================================================
   Animaciones por bloque
   Solo se activan si el script añadió .ite-anim a <html> (hay JS y movimiento permitido).
   Sin JS, todo se ve completo.
   ========================================================================== */
.ite-anim #page :is([data-anim], :where(.ite-anim-b, .ite-anim-der, .ite-anim-izq)) { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ite-ease), transform .9s var(--ite-ease); transition-delay: calc(var(--i, 0) * 90ms); }
.ite-anim #page :is([data-anim="izq"], :where(.ite-anim-izq)) { transform: translateX(-32px); }
.ite-anim #page :is([data-anim="der"], :where(.ite-anim-der)) { transform: translateX(32px); }
.ite-anim #page :is([data-anim], :where(.ite-anim-b, .ite-anim-der, .ite-anim-izq)).is-visible { opacity: 1; transform: none; }
.ite-anim #page .ite-armable > .ite-pz { transform: scale(.4); opacity: 0; transition: transform .9s var(--ite-ease), opacity .6s var(--ite-ease), translate .8s var(--ite-ease); transition-delay: calc(var(--i, 0) * 70ms); }
.ite-anim #page .ite-armable.is-visible > .ite-pz { transform: none; opacity: 1; }
#page .ite-titulo::after { transform-origin: left; }
.ite-anim #page .ite-titulo:is([data-anim], :where(.ite-anim-b, .ite-anim-der, .ite-anim-izq))::after { transform: scaleX(0); transition: transform .9s var(--ite-ease) .25s; }
.ite-anim #page .ite-titulo:is([data-anim], :where(.ite-anim-b, .ite-anim-der, .ite-anim-izq)).is-visible::after { transform: none; }

/* ==========================================================================
   Movimiento Bauhaus continuo (usa rotate/scale/translate individuales para
   no chocar con la entrada, que usa transform). Arranca cuando el bloque ya se armó.
   ========================================================================== */
@keyframes ite-girar { 0%, 18% { rotate: 0deg; } 25%, 43% { rotate: 90deg; } 50%, 68% { rotate: 180deg; } 75%, 93% { rotate: 270deg; } 100% { rotate: 360deg; } }
@keyframes ite-latir { 0%, 100% { scale: 1; } 50% { scale: .86; } }
@keyframes ite-balancear { 0%, 100% { rotate: -7deg; } 50% { rotate: 7deg; } }
@keyframes ite-puntos { from { background-position: 0 0; } to { background-position: 0 -33.333%; } }
@keyframes ite-rayas { from { background-position-x: 0; } to { background-position-x: 9px; } }
@keyframes ite-deslizar { 0%, 100% { translate: 0 0; } 50% { translate: 0 -14%; } }
.ite-anim #page .ite-mov-girar { animation: ite-girar 14s cubic-bezier(.65, 0, .35, 1) 1.4s infinite; }
.ite-anim #page .ite-mov-girar.ite-mov-lento { animation-duration: 20s; animation-delay: 2.4s; }
.ite-anim #page .ite-mov-latir { animation: ite-latir 6s ease-in-out 1.2s infinite; }
.ite-anim #page .ite-mov-balancear { animation: ite-balancear 8s ease-in-out 1s infinite; }
.ite-anim #page .ite-mov-balancear.ite-mov-arriba { transform-origin: 50% 100%; }
.ite-anim #page .ite-mov-puntos { animation: ite-puntos 5s linear infinite; }
.ite-anim #page .ite-mov-rayas { animation: ite-rayas 2.4s linear infinite; }
.ite-anim #page .ite-mov-deslizar { animation: ite-deslizar 7s ease-in-out 1.6s infinite; }
/* Solo se mueve lo que está en pantalla */
.ite-anim #page .ite-armable:not(.is-visible) > *, .ite-anim #page :is([data-anim], :where(.ite-anim-b, .ite-anim-der, .ite-anim-izq)):not(.is-visible) .ite-pz { animation-play-state: paused; }

/* Parallax del hero: el script mueve --px / --py según el puntero */
#page .ite-composicion > .ite-pz { translate: calc(var(--px, 0) * var(--prof, 0) * 1px) calc(var(--py, 0) * var(--prof, 0) * 1px); transition-property: transform, opacity, translate; }
#page .ite-composicion .ite-mov-deslizar { translate: none; }

/* Botón principal: un cuarto de círculo entra en la esquina al pasar el cursor */
#page .ite-boton--accion, #page .ite-boton--blanco { position: relative; overflow: hidden; isolation: isolate; }
#page .ite-boton--accion::after, #page .ite-boton--blanco::after { content: ""; position: absolute; right: 0; bottom: 0; width: 22px; height: 22px; border-radius: 100% 0 0 0; background: var(--ite-celeste); transform: scale(0); transform-origin: 100% 100%; transition: transform .45s var(--ite-ease); z-index: -1; }
#page .ite-boton--blanco::after { background: var(--ite-hielo); }
#page .ite-boton--accion:hover::after, #page .ite-boton--blanco:hover::after { transform: scale(1); }

@media (prefers-reduced-motion: reduce) {
  :where(.ite) #page *, :where(.ite) #page *::before, :where(.ite) #page *::after { transition-duration: .01ms !important; transition-delay: 0s !important; animation: none !important; }
  #page .ite-composicion > .ite-pz { translate: none !important; }
}

/* Portada de producto: títulos largos */
#page .ite-portada--producto h1 { font-size: clamp(2rem, 3.4vw, 2.9rem); }
#page .ite-cifras__lista--auto .ite-cifra__valor { white-space: nowrap; font-size: clamp(2.2rem, 3.2vw, 2.9rem); }
#page .ite-portada--producto .ite-portada__rejilla { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 900px) { #page .ite-portada--producto .ite-portada__rejilla { grid-template-columns: 1fr; } }

/* Estilos en línea de las plantillas (Elementor gratuito no los admite en contenedores) */
#page .ite-s-135134 { padding-top:clamp(32px,4vw,56px); }
#page .ite-s-1589c8 { padding-top:clamp(48px,6vw,80px); }
#page .ite-s-1cdb0a { --i:1; }
#page .ite-s-2a4dac { align-items:start; }
#page .ite-s-31ee11 { --i:4; }
#page .ite-s-3aa23c { --i:3; }
#page .ite-s-4c2363 { --i:0; }
#page .ite-s-511cd1 { padding-top:0; }
#page .ite-s-bb14b0 { --i:2; }
#page .ite-s-e7ec54 { margin-bottom:0; }
/* ================================================================== *
 * Compatibilidad con Astra y Elementor (solo en WordPress)
 * Las reglas del diseño van ancladas en #page para ganar a los estilos del
 * tema y del kit de Elementor; aquí se neutraliza lo que ellos agregan.
 * ================================================================== */
:where(.ite) #page :where(button) { padding: 0; border: 0; border-radius: 0; background: none; color: inherit; font: inherit; line-height: inherit; text-transform: none; letter-spacing: inherit; box-shadow: none; min-height: 0; }
:where(.ite) #page :where(button):hover, :where(.ite) #page :where(button):focus { background: none; color: inherit; border-color: transparent; }
:where(.ite) #page :where(h1, h2, h3, h4, h5, h6) { clear: none; }
/* Contenido de las páginas montadas: de orilla a orilla, sin el relleno de Astra ni de Elementor */
.ite-pagina #page .site-content > .ast-container { max-width: none; padding: 0; display: block; }
.ite-pagina #page #primary { margin: 0; padding: 0; width: 100%; }
.ite-pagina #page .entry-content { margin: 0; }
.ite-pagina #page .entry-header { display: none; }
.ite-pagina #page .elementor-widget-html { width: 100%; }
/* Entradas: la portada del diseño sustituye al título y los datos de Astra */
.single-post #page .entry-header, .single-post #page .post-navigation, .single-post #page .ast-single-related-posts-container { display: none; }
.single-post #page .ite-titulo-repetido { display: none; }
.single-post #page #primary { margin-top: 0; }
.single-post #page .ast-article-single { padding-top: clamp(8px, 1.5vw, 16px); background: transparent; }
.single-post #page .ite-articulo__nav { max-width: 760px; margin: 0 auto clamp(48px, 6vw, 80px); }
/* Columna del texto alineada con la portada de la entrada (72ch, centrada) */
.single-post #page .site-content > .ast-container { max-width: none; padding-inline: var(--ite-margen); display: block; }
.single-post #page #primary { width: 100%; max-width: 72ch; margin-inline: auto; padding: 0; float: none; }
.single-post #page .ast-article-single { padding-inline: 0; margin: 0; border: 0; box-shadow: none; }
.single-post #page .ite-articulo__nav { max-width: 72ch; }

/* ---------- Elementor nativo: flechas de botones (sobreviven a la edición de texto) ---------- */
#page .ite-flecha::before { content: ""; order: 2; flex: none; width: 1.05em; height: 1.05em; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 10h12M11 5l5 5-5 5' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 10h12M11 5l5 5-5 5' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .3s var(--ite-ease); }
#page .ite-enlace-flecha.ite-flecha::before { width: 1em; height: 1em; }
#page .ite-flecha:hover::before { transform: translateX(4px); }

/* ---------- Elementor nativo: preguntas (Acordeón anidado con <details>) ---------- */
#page .ite-preguntas .e-n-accordion { display: block; }
#page .ite-preguntas .e-n-accordion-item-title { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem 0; margin: 0; border: 0; background: none; font: 700 1.125rem/1.35 var(--ite-display); color: var(--ite-azul); }
#page .ite-preguntas .e-n-accordion-item-title-header, #page .ite-preguntas .e-n-accordion-item-title-text { font: inherit; color: inherit; margin: 0; }
#page .ite-preguntas .e-n-accordion-item-title-icon { display: none; }
#page .ite-preguntas .e-n-accordion-item > .ite-preguntas__resp { padding: 0 0 1.5rem; }
[data-tema="oscuro"] #page .ite-preguntas .e-n-accordion-item-title { color: var(--o-titulo); }

/* ---------- Elementor nativo: pestañas de licenciamiento (Pestañas anidadas) ---------- */
#page .ite-w-pestanas .e-n-tabs { display: block; }
#page .ite-w-pestanas .e-n-tabs-heading { display: inline-flex; flex-wrap: wrap; gap: 0; margin-bottom: clamp(24px, 3vw, 36px); border: 2px solid var(--ite-azul); }
#page .ite-w-pestanas .e-n-tab-title { flex: none; min-height: 48px; padding: 0 24px; margin: 0; border: 0; border-radius: 0; background: transparent; font: 700 1rem/1 var(--ite-display); color: var(--ite-azul); cursor: pointer; transition: background-color .25s var(--ite-ease), color .25s var(--ite-ease); }
#page .ite-w-pestanas .e-n-tab-title + .e-n-tab-title { border-left: 2px solid var(--ite-azul); }
#page .ite-w-pestanas .e-n-tab-title[aria-selected="true"] { background: var(--ite-azul); color: var(--ite-blanco); }
#page .ite-w-pestanas .e-n-tab-title:hover:not([aria-selected="true"]) { background: var(--ite-hielo); color: var(--ite-azul); }
#page .ite-w-pestanas .e-n-tab-title-text { font: inherit; color: inherit; }
#page .ite-w-pestanas .e-n-tabs-content > .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; }
#page .ite-w-pestanas .e-n-tabs-content > .e-con.e-active { display: block; }
#page .ite-w-pestanas .ite-pestanas__panel > * + * { margin-top: clamp(20px, 2.4vw, 28px); }
[data-tema="oscuro"] #page .ite-w-pestanas .e-n-tabs-heading { border-color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-w-pestanas .e-n-tab-title { color: var(--o-titulo); }
[data-tema="oscuro"] #page .ite-w-pestanas .e-n-tab-title + .e-n-tab-title { border-color: var(--o-enlace); }
[data-tema="oscuro"] #page .ite-w-pestanas .e-n-tab-title[aria-selected="true"] { background: #0A5B8A; color: var(--o-fuerte); }
[data-tema="oscuro"] #page .ite-w-pestanas .e-n-tab-title:hover:not([aria-selected="true"]) { background: var(--o-ficha); }
@media (max-width: 900px) { #page .ite-w-pestanas { text-align: center; } #page .ite-w-pestanas .e-n-tabs-content { text-align: left; } }

/* En el editor de Elementor todo queda visible y editable */
.ite-editor #page .ite-deco { pointer-events: none; }
