/* TI Sitio 2.0: generado por ti_sitio_build_css.py desde assets/src. No editar a mano. */
/*
 * TI Sitio 2.0: orden de la hoja única.
 * Sin @layer: el CSS sin capa de Astra y del tema siempre le gana a cualquier regla dentro de una capa,
 * sin importar la especificidad. Por eso el orden lo da el nombre del archivo (00 a 07) y se gana con el prefijo body.ti.
 * Reglas: todo selector empieza con body.ti; cero !important (salvo movimiento reducido); valores solo desde 02-tokens.css.
 * Archivos: 01 reset, 02 tokens, 03 base, 04 layout, 05 components, 06 pages, 07 utilities.
 */

/* 01 reset: solo elementos con clase ti-* o aurora-* (y sus hijos), nunca Astra o WordPress. */
body.ti :where([class*="ti-"], [class*="aurora-"]),
body.ti :where([class*="ti-"], [class*="aurora-"]) :where(*, *::before, *::after) {
  box-sizing: border-box;
}

body.ti :where(.ti-card, .ti-hero, .ti-footer, .ti-mega-footer, .aurora-pillar, .aurora-entry-card, .aurora-card, .aurora-page-hero) :where(img, svg, video) {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 02 tokens: único lugar con valores de diseño. Ningún otro archivo escribe colores, tamaños ni sombras sueltos. */
:root {
  /* Núcleo del logo */
  --ti-purple: #5258ca;
  --ti-teal: #2ec4b6;
  --ti-coral: #e07a5f;

  /* Color de acción (texto sobre blanco con contraste AA) */
  --ti-primary: #4349b8;
  --ti-primary-hover: #353b9c;
  --ti-primary-soft: #e8e9f8;
  --ti-accent: var(--ti-teal);
  --ti-accent-text: #12726a;
  --ti-accent-soft: #e6f9f6;
  --ti-warm: var(--ti-coral);
  --ti-warm-text: #b24a2f;
  --ti-warm-soft: #fdf0eb;

  /* Texto y superficies */
  --ti-ink: #1d1f45;
  --ti-body: #3d3d4e;
  --ti-muted: #62637a;
  --ti-surface: #f2f3fa;
  --ti-surface-warm: #faf6f4;
  --ti-white: #ffffff;
  --ti-line: rgba(29, 31, 69, 0.14);
  --ti-focus: #2d6a8f;

  /* Fondo oscuro de héroe y pie */
  --ti-deep: #1a1d4a;
  --ti-deep-mid: #2a3080;
  --ti-on-deep: #ffffff;
  --ti-on-deep-muted: #d9dbf5;

  /* Tipografía fluida: 6 pasos (cuerpo de 18 a 21 px, como en los hubs de referencia) */
  --ti-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ti-step--1: clamp(1rem, 0.94rem + 0.22vw, 1.125rem);
  --ti-step-0: clamp(1.125rem, 1.03rem + 0.4vw, 1.3125rem);
  --ti-step-1: clamp(1.1875rem, 1.1rem + 0.4vw, 1.375rem);
  --ti-step-2: clamp(1.375rem, 1.15rem + 1vw, 1.75rem);
  --ti-step-3: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
  --ti-step-4: clamp(2rem, 1.5rem + 2.4vw, 3.25rem);
  --ti-leading: 1.6;
  --ti-leading-tight: 1.2;

  /* Espacio: escala de 8 */
  --ti-space-1: 0.25rem;
  --ti-space-2: 0.5rem;
  --ti-space-3: 0.75rem;
  --ti-space-4: 1rem;
  --ti-space-5: 1.5rem;
  --ti-space-6: 2rem;
  --ti-space-7: 3rem;
  --ti-space-8: 4.5rem;

  /* Radio y sombra: 3 valores cada uno */
  --ti-radius-1: 0.375rem;
  --ti-radius-2: 0.75rem;
  --ti-radius-3: 1.25rem;
  --ti-shadow-1: 0 1px 2px rgba(29, 31, 69, 0.08);
  --ti-shadow-2: 0 4px 14px rgba(29, 31, 69, 0.1);
  --ti-shadow-3: 0 12px 32px rgba(29, 31, 69, 0.14);

  /* Modos de accesibilidad y avisos (también son tokens: la hoja los cambia, no reescribe reglas) */
  --ti-calm-ink: #1a2e28;
  --ti-calm-bg: #f4efe6;
  --ti-calm-line: #2f5d50;
  --ti-calm-btn: #e8f0ec;
  --ti-sky-ink: #1a2744;
  --ti-sky-bg: #eef3f8;
  --ti-alert-bg: #fff3cd;
  --ti-alert-line: #e6d199;
  --ti-alert-ink: #5a4508;
  --ti-danger-bg: #fde8e8;
  --ti-danger-line: #e8a0a0;
  --ti-danger-ink: #a52828;
  --ti-backdrop: rgba(29, 31, 69, 0.35);
  --ti-hc-bg: #ffffff;
  --ti-hc-ink: #000000;
  --ti-hc-link: #0000ee;
  --ti-hc-visited: #551a8b;
  --ti-hc-mark: #ffff00;
  --ti-reading-h: 3.25rem;

  /* Anchos. Cortes de pantalla (solo 3, para @media y @container): 40rem, 64rem, 80rem */
  --ti-max: 72rem;
  --ti-prose: 42rem;
  --ti-gutter: clamp(1rem, 0.6rem + 2vw, 2rem);
  --ti-header-h: 4.5rem;
}

/*
 * Puente con el tema: aurora.css (tema hijo) define su propia paleta y tamaños con variables --aurora-* y los usa
 * hasta con !important. Apuntar esas variables a los tokens unifica todo lo que pinta el tema sin pelear con sus reglas.
 * Va en body.ti (no en :root) para ganar al orden de carga: una variable declarada en el body pisa la heredada de html.
 */
body.ti {
  --aurora-h1: var(--ti-step-4);
  --aurora-h2: var(--ti-step-2);
  --aurora-h3: var(--ti-step-1);
  --aurora-body: var(--ti-step-0);
  --aurora-line: var(--ti-leading);
  --aurora-bg: var(--ti-surface);
  --aurora-ink: var(--ti-ink);
  --aurora-primary: var(--ti-primary);
  --aurora-primary-hover: var(--ti-primary-hover);
  --aurora-primary-dark: var(--ti-primary-hover);
  --aurora-accent: var(--ti-accent);
  --aurora-glow: var(--ti-accent);
  --aurora-link: var(--ti-primary-hover);
  --aurora-muted: var(--ti-muted);
  --aurora-warm: var(--ti-warm-text);
  --aurora-surface: var(--ti-white);
  --aurora-success: var(--ti-accent-text);
  --aurora-error: var(--ti-danger-ink);
  --aurora-border: var(--ti-line);
  --aurora-card: var(--ti-white);
  --aurora-radius: var(--ti-radius-3);
  --aurora-container: min(var(--ti-max), 100% - 2 * var(--ti-gutter));
  --aurora-font: var(--ti-font);
}

/* 03 base: foco visible y movimiento reducido para todo el sitio. */
body.ti :focus-visible {
  outline: 3px solid var(--ti-focus);
  outline-offset: 2px;
}

/* Sobre fondo oscuro el azul de foco no llega a 3:1: el anillo pasa a blanco. */
body.ti :is(.ti-hero, .aurora-page-hero, .ti-cta, .aurora-cta, .ti-footer, .ti-mega-footer, .ti-section--deep) :focus-visible {
  outline-color: var(--ti-on-deep);
}

html {
  scroll-padding-top: var(--ti-header-h);
}

@media (prefers-reduced-motion: reduce) {
  body.ti *,
  body.ti *::before,
  body.ti *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/*
 * 04 layout: ti-container, ti-section, ti-grid.
 * Alias de clases viejas (el contenido publicado no se reescribe):
 *   ti-container  <- aurora-section__inner, ti-home-destacada__inner, ti-page-destacada__inner
 *   ti-section    <- aurora-section, aurora-values
 */

/* Un solo ancho de contenido en todo el sitio: --ti-max. También es el contenedor de consulta de ti-grid.
   El tema usa `.ti-home .aurora-section--x .aurora-section__inner` (3 clases); por eso la portada lleva su propio selector. */
body.ti :is(.ti-container, .aurora-section__inner, .ti-home-destacada__inner, .ti-page-destacada__inner),
body.ti .ti-home .aurora-section .aurora-section__inner {
  width: 100%;
  max-width: var(--ti-max);
  margin-inline: auto;
  padding-inline: 0;
  container: ti / inline-size;
}

body.ti .ti-container--prose {
  max-width: var(--ti-prose);
}

/* Sección: el fondo llega de borde a borde; el aire lateral lo da --ti-gutter. */
body.ti :is(.ti-section, .aurora-section, .aurora-values) {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding-block: var(--ti-space-8);
  padding-inline: var(--ti-gutter);
}

body.ti .ti-section--tight {
  padding-block: var(--ti-space-6);
}

body.ti .ti-section--surface {
  background: var(--ti-surface);
}

body.ti .ti-section--deep {
  background: var(--ti-deep);
  color: var(--ti-on-deep);
}

@media (max-width: 40rem) {
  body.ti :is(.ti-section, .aurora-section, .aurora-values) {
    padding-block: var(--ti-space-7);
  }
}

/*
 * ti-grid: rejilla equilibrada de 1 a N elementos, solo CSS (reemplaza ti-balanced-grid.js).
 * Columnas por ancho del contenedor (cortes 40 y 64 rem; el contenedor mide como máximo --ti-max, 72 rem) y por cantidad de hijos, sin filas huérfanas.
 * Alias: aurora-pillars--home, aurora-entry-grid.
 */
body.ti :is(.ti-grid, .aurora-pillars--home, .aurora-entry-grid) {
  --ti-cols: 1;
  display: grid;
  grid-template-columns: repeat(var(--ti-cols), minmax(0, 1fr));
  gap: var(--ti-space-5);
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}

@container ti (min-width: 40rem) {
  body.ti :is(.ti-grid, .aurora-pillars--home, .aurora-entry-grid) { --ti-cols: 2; }
  body.ti :is(.ti-grid, .aurora-pillars--home, .aurora-entry-grid):has(> :nth-child(3):last-child) { --ti-cols: 1; }
  body.ti :is(.ti-grid, .aurora-pillars--home, .aurora-entry-grid):has(> :nth-child(1):last-child) { --ti-cols: 1; }
}

@container ti (min-width: 64rem) {
  body.ti :is(.ti-grid, .aurora-pillars--home, .aurora-entry-grid) { --ti-cols: 3; }
  body.ti :is(.ti-grid, .aurora-pillars--home, .aurora-entry-grid):has(> :nth-child(1):last-child) { --ti-cols: 1; }
  body.ti :is(.ti-grid, .aurora-pillars--home, .aurora-entry-grid):has(> :nth-child(3):last-child) { --ti-cols: 3; }
  body.ti :is(.ti-grid, .aurora-pillars--home, .aurora-entry-grid):has(> :nth-child(2):last-child),
  body.ti :is(.ti-grid, .aurora-pillars--home, .aurora-entry-grid):has(> :nth-child(4):last-child) { --ti-cols: 2; }
  body.ti :is(.ti-grid, .aurora-pillars--home, .aurora-entry-grid):has(> :nth-child(8):last-child) { --ti-cols: 4; }
}

/*
 * 05 components: una clase, una definición. Colores, tamaños y sombras solo con var(--ti-*).
 * Alias de clases viejas (el contenido no se reescribe):
 *   ti-card   <- aurora-pillar, aurora-entry-card, aurora-card
 *   ti-hero   <- aurora-page-hero
 *   ti-footer <- ti-mega-footer
 * Los hijos de cada alias se traducen igual: ti-card__links <- aurora-entry-card__links, ti-card__cta <- aurora-entry-card__cta.
 */

/* ── Botón ── */
body.ti :is(.ti-btn, .aurora-btn--hero) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ti-space-2);
  min-height: 2.75rem;
  padding: var(--ti-space-3) var(--ti-space-5);
  border: 2px solid transparent;
  border-radius: var(--ti-radius-1);
  background: var(--ti-primary);
  color: var(--ti-white);
  font-size: var(--ti-step-0);
  font-weight: 600;
  line-height: var(--ti-leading-tight);
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

body.ti :is(.ti-btn, .aurora-btn--hero):hover {
  background: var(--ti-primary-hover);
  color: var(--ti-white);
  transform: translateY(-2px);
  box-shadow: var(--ti-shadow-2);
}

body.ti .ti-btn--accent,
body.ti .aurora-btn--hero {
  background: var(--ti-accent);
  color: var(--ti-ink);
}

body.ti .ti-btn--accent:hover,
body.ti .aurora-btn--hero:hover {
  background: var(--ti-accent);
  color: var(--ti-ink);
}

body.ti .ti-btn--ghost {
  background: transparent;
  border-color: var(--ti-primary);
  color: var(--ti-primary);
}

body.ti .ti-btn--ghost:hover {
  background: var(--ti-primary-soft);
  color: var(--ti-primary);
}

/* ── Tarjeta ── */
body.ti :is(.ti-card, .aurora-pillar, .aurora-entry-card, .aurora-card) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--ti-space-3);
  height: 100%;
  padding: var(--ti-space-5);
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-2);
  background: var(--ti-white);
  box-shadow: none;
  text-align: left;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.ti :is(.ti-card, .aurora-pillar, .aurora-entry-card, .aurora-card):hover {
  border-color: var(--ti-purple);
  box-shadow: var(--ti-shadow-2);
  transform: translateY(-3px);
}

body.ti :is(.ti-card, .aurora-pillar, .aurora-entry-card, .aurora-card) :is(h2, h3, h4) {
  margin: 0;
  color: var(--ti-ink);
  font-size: var(--ti-step-1);
  line-height: var(--ti-leading-tight);
}

body.ti :is(.ti-card, .aurora-pillar, .aurora-entry-card, .aurora-card) :is(h2, h3, h4) a {
  color: inherit;
  text-decoration: none;
}

body.ti :is(.ti-card, .aurora-pillar, .aurora-entry-card, .aurora-card) p {
  margin: 0;
  color: var(--ti-body);
  font-size: var(--ti-step-0);
  line-height: var(--ti-leading);
}

body.ti :is(.ti-card__links, .aurora-entry-card__links) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ti-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ti :is(.ti-card__links, .aurora-entry-card__links) a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: var(--ti-space-1) var(--ti-space-3);
  border-radius: var(--ti-radius-1);
  background: var(--ti-primary-soft);
  color: var(--ti-primary);
  font-size: var(--ti-step--1);
  text-decoration: none;
}

body.ti :is(.ti-card__cta, .aurora-entry-card__cta, .aurora-pillar__link) {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  margin-top: auto;
  color: var(--ti-primary);
  font-weight: 600;
}

/* ── Hero de página interna ── */
body.ti :is(.ti-hero, .aurora-page-hero) {
  padding: var(--ti-space-8) var(--ti-gutter);
  background: linear-gradient(135deg, var(--ti-deep), var(--ti-deep-mid));
  color: var(--ti-on-deep);
}

body.ti :is(.ti-hero, .aurora-page-hero) :is(.ti-hero__inner, .aurora-page-hero__inner) {
  max-width: var(--ti-max);
  margin-inline: auto;
}

body.ti :is(.ti-hero, .aurora-page-hero) :is(.ti-hero__label, .aurora-section__label) {
  margin: 0 0 var(--ti-space-2);
  color: var(--ti-on-deep);
  font-size: var(--ti-step--1);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.ti :is(.ti-hero, .aurora-page-hero) h1 {
  max-width: 24ch;
  margin: 0 0 var(--ti-space-4);
  color: var(--ti-on-deep);
  font-size: var(--ti-step-4);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: var(--ti-leading-tight);
}

body.ti :is(.ti-hero, .aurora-page-hero) :is(.ti-hero__lead, .aurora-hero__lead) {
  max-width: 42ch;
  margin: 0 0 var(--ti-space-5);
  color: var(--ti-on-deep-muted);
  font-size: var(--ti-step-1);
  line-height: var(--ti-leading);
}

@media (max-width: 40rem) {
  body.ti :is(.ti-hero, .aurora-page-hero) {
    padding-block: var(--ti-space-7);
  }
}

/* ── Encabezado y menú (Astra) ──
 * Dos estados: escritorio de una fila (body.ast-desktop sin .ti-nav-compact) y compacto con botón de menú
 * (body.ast-header-break-point o .ti-nav-compact, que pone ti-nav-responsive.js al medir el contenido).
 * Los ids de Astra suben la especificidad para ganar sin !important.
 */
body.ti .site-header,
body.ti #masthead {
  overflow: visible;
}

body.ti .custom-logo-link img,
body.ti .site-branding img {
  width: auto;
  max-height: 3rem;
  height: auto;
}

body.ti :is(#ast-desktop-header, #ast-mobile-header) .ast-container {
  width: min(100% - 2 * var(--ti-gutter), var(--ti-max));
  max-width: none;
  margin-inline: auto;
}

body.ti .ast-builder-grid-row {
  align-items: center;
  flex-wrap: nowrap;
}

body.ti :is(.site-primary-header-wrap, .ast-primary-header-bar, .main-header-bar) {
  min-height: var(--ti-header-h);
}

body.ti.ast-desktop:not(.ti-nav-compact) #ast-desktop-header .main-header-menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ti-space-4);
  margin: 0;
  overflow: visible;
}

body.ti.ast-desktop:not(.ti-nav-compact) #ast-desktop-header .main-header-menu > .menu-item {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  width: auto;
}

body.ti.ast-desktop:not(.ti-nav-compact) #ast-desktop-header .main-header-menu > .menu-item > .menu-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  max-width: none;
  white-space: nowrap;
}

/* Desplegable de escritorio: abre con hover, foco de teclado o clic (.ast-submenu-expanded). */
body.ti #ast-desktop-header .main-header-menu > .menu-item-has-children {
  position: relative;
}

body.ti #ast-desktop-header .main-header-menu > .menu-item-has-children > .menu-link {
  padding-inline-end: calc(2.75rem + var(--ti-space-1));
}

body.ti #ast-desktop-header .main-header-menu .ast-menu-toggle {
  position: absolute;
  top: 50%;
  right: var(--ti-space-1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  margin: 0;
  transform: translateY(-50%);
}

body.ti #ast-desktop-header .main-header-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 100050;
  min-width: 12rem;
  max-width: min(22rem, calc(100vw - 2rem));
  margin: 0;
  padding: var(--ti-space-2) 0;
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-1);
  background: var(--ti-white);
  box-shadow: var(--ti-shadow-3);
}

body.ti #ast-desktop-header .main-header-menu .menu-item-has-children > .sub-menu {
  display: none;
}

/* Tercer nivel: a un lado del segundo, no encima. */
body.ti #ast-desktop-header .main-header-menu .sub-menu .sub-menu {
  top: 0;
  left: 100%;
}

/* Sin la flecha dibujada por el tema: la da el botón .ast-menu-toggle. */
body.ti #ast-desktop-header .main-header-menu .menu-item-has-children > .menu-link::after {
  content: none;
}

body.ti #ast-desktop-header .main-header-menu .menu-item-has-children:is(:hover, :focus-within, .focus, .ast-submenu-expanded) > .sub-menu {
  display: block;
}

body.ti #ast-desktop-header .main-header-menu .sub-menu .menu-link {
  display: block;
  padding: var(--ti-space-2) var(--ti-space-4);
  color: var(--ti-body);
  white-space: normal;
}

body.ti #ast-desktop-header .main-header-menu .sub-menu .menu-item:is(:hover, :focus-within) > .menu-link {
  background: var(--ti-primary-soft);
  color: var(--ti-ink);
}

/* La flecha de Astra se dibuja una sola vez (botón .ast-menu-toggle), sin duplicados dentro del enlace. */
body.ti .main-header-menu .menu-item-has-children > .menu-link :is(.dropdown-menu-toggle, .ast-header-navigation-arrow) {
  display: none;
}

/* Compacto: botón de menú y panel en columna */
body.ti:is(.ti-nav-compact, .ast-header-break-point) #ast-desktop-header {
  display: none;
}

body.ti:is(.ti-nav-compact, .ast-header-break-point) #ast-mobile-header {
  display: block;
}

body.ti :is(.ast-mobile-menu-buttons .menu-toggle, .main-header-menu-toggle) {
  min-width: 2.75rem;
  min-height: 2.75rem;
}

body.ti :is(.ast-mobile-header-content, .ast-desktop-header-content, .ast-mobile-popup-content) {
  max-height: min(80vh, 40rem);
  overflow-x: hidden;
  overflow-y: auto;
  padding-bottom: env(safe-area-inset-bottom, 0);
}

body.ti:is(.ti-nav-compact, .ast-header-break-point) :is(#ast-mobile-header, .ast-mobile-popup-drawer) .main-header-menu {
  display: block;
  width: 100%;
  gap: 0;
}

body.ti:is(.ti-nav-compact, .ast-header-break-point) :is(#ast-mobile-header, .ast-mobile-popup-drawer) .main-header-menu .menu-item {
  position: relative;
  display: block;
  width: 100%;
}

body.ti:is(.ti-nav-compact, .ast-header-break-point) :is(#ast-mobile-header, .ast-mobile-popup-drawer) .main-header-menu > .menu-item {
  border-bottom: 1px solid var(--ti-line);
}

body.ti:is(.ti-nav-compact, .ast-header-break-point) :is(#ast-mobile-header, .ast-mobile-popup-drawer) .main-header-menu .menu-link {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 2.75rem;
  padding: var(--ti-space-3) 3.25rem var(--ti-space-3) var(--ti-space-4);
  line-height: 1.35;
  overflow-wrap: anywhere;
  white-space: normal;
}

body.ti:is(.ti-nav-compact, .ast-header-break-point) :is(#ast-mobile-header, .ast-mobile-popup-drawer) .main-header-menu .ast-menu-toggle {
  position: absolute;
  top: 50%;
  right: var(--ti-space-1);
  z-index: 2;
  min-width: 2.75rem;
  min-height: 2.75rem;
  margin: 0;
  transform: translateY(-50%);
}

body.ti:is(.ti-nav-compact, .ast-header-break-point) :is(#ast-mobile-header, .ast-mobile-popup-drawer) .main-header-menu .sub-menu {
  position: static;
  display: none;
  width: 100%;
  margin: 0;
  padding: 0 0 var(--ti-space-2) var(--ti-space-3);
  border: 0;
  border-left: 2px solid var(--ti-line);
  box-shadow: none;
  opacity: 1;
  visibility: visible;
  transform: none;
}

body.ti:is(.ti-nav-compact, .ast-header-break-point) :is(#ast-mobile-header, .ast-mobile-popup-drawer) .main-header-menu .menu-item-has-children:is(.focus, .ast-submenu-expanded) > .sub-menu {
  display: block;
}

body.ti.ti-nav-lock {
  overflow: hidden;
}

/* ── Pie ── */
body.ti :is(.ti-footer, .ti-mega-footer) {
  overflow: visible;
  background: var(--ti-deep);
  color: var(--ti-on-deep);
}

body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__inner, .ti-mega-footer__inner) {
  max-width: var(--ti-max);
  margin-inline: auto;
  padding-inline: var(--ti-gutter);
}

/* 1, 2 y 3 columnas: con 6 o 9 columnas de enlaces nunca queda una fila suelta. */
body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__grid, .ti-mega-footer__grid) {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ti-space-6) var(--ti-space-5);
  align-items: start;
  width: 100%;
}

@media (min-width: 40rem) {
  body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__grid, .ti-mega-footer__grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 64rem) {
  body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__grid, .ti-mega-footer__grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--ti-space-6);
  }
}

body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__col, .ti-mega-footer__col) {
  min-width: 0;
  max-width: none;
}

body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__col-title, .ti-mega-footer__col-title) {
  margin: 0 0 var(--ti-space-3);
  font-size: var(--ti-step--1);
  line-height: var(--ti-leading-tight);
}

body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__col-title, .ti-mega-footer__col-title) a {
  color: var(--ti-on-deep);
  white-space: normal;
}

body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__links, .ti-mega-footer__links) {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__links, .ti-mega-footer__links) li + li {
  margin-top: var(--ti-space-2);
}

body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__links, .ti-mega-footer__links) a {
  color: var(--ti-on-deep-muted);
  line-height: 1.45;
  white-space: normal;
}

body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__links, .ti-mega-footer__links) a:hover {
  color: var(--ti-on-deep);
}

body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__mission, .ti-mega-footer__mission) {
  max-width: 46rem;
}

body.ti :is(.ti-footer, .ti-mega-footer) :is(.ti-footer__actions, .ti-mega-footer__actions) {
  justify-content: flex-start;
}

/* Un solo pie: si existe el pie del plugin, se oculta el de Astra. */
body.ti:has(.ti-mega-footer) footer.site-footer:not(.ti-mega-footer) {
  display: none;
}

/* ── CTA (franja de cierre) ── alias: aurora-cta */
body.ti :is(.ti-cta, .aurora-cta) {
  width: 100%;
  padding: var(--ti-space-8) var(--ti-gutter);
  background: linear-gradient(135deg, var(--ti-deep), var(--ti-deep-mid));
  color: var(--ti-on-deep);
  text-align: center;
}

body.ti :is(.ti-cta, .aurora-cta) :is(h2, p) {
  color: var(--ti-on-deep);
}

body.ti :is(.ti-cta, .aurora-cta) .aurora-btn--primary {
  background: var(--ti-accent);
  color: var(--ti-ink);
  border-radius: var(--ti-radius-1);
}

/* ── Preguntas frecuentes ── alias: aurora-faq */
body.ti :is(.ti-faq, .aurora-faq) details {
  margin-bottom: var(--ti-space-3);
  padding: var(--ti-space-2) var(--ti-space-4) var(--ti-space-3);
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-2);
  background: var(--ti-white);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.ti :is(.ti-faq, .aurora-faq) details[open] {
  border-color: var(--ti-purple);
  border-left-width: 3px;
  box-shadow: var(--ti-shadow-1);
}

body.ti :is(.ti-faq, .aurora-faq) summary {
  display: flex;
  align-items: center;
  gap: var(--ti-space-3);
  min-height: 2.75rem;
  padding: var(--ti-space-1) 0;
  color: var(--ti-ink);
  font-size: var(--ti-step-1);
  font-weight: 600;
  list-style: none;
  cursor: pointer;
}

body.ti :is(.ti-faq, .aurora-faq) summary::-webkit-details-marker {
  display: none;
}

body.ti :is(.ti-faq, .aurora-faq) summary::before {
  content: "+";
  display: inline-flex;
  flex: 0 0 1.5rem;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--ti-radius-1);
  background: var(--ti-primary-soft);
  color: var(--ti-primary);
  font-weight: 700;
  line-height: 1;
}

body.ti :is(.ti-faq, .aurora-faq) details[open] summary::before {
  content: "\2212";
  background: var(--ti-accent-soft);
  color: var(--ti-accent-text);
}

body.ti :is(.ti-faq, .aurora-faq) details p {
  margin: var(--ti-space-2) 0 var(--ti-space-3);
  color: var(--ti-body);
  font-size: var(--ti-step-0);
  line-height: var(--ti-leading);
}

body.ti :is(.ti-faq, .aurora-faq) details a {
  color: var(--ti-primary);
  font-weight: 500;
}

/* ── Aviso ── alias: ti-familias-alerta (ámbar). Variante --danger: ti-familias-urgencia */
body.ti :is(.ti-notice, .ti-familias-alerta) {
  display: flex;
  align-items: flex-start;
  gap: var(--ti-space-3);
  max-width: var(--ti-max);
  margin: var(--ti-space-4) auto 0;
  padding: var(--ti-space-4);
  border: 1px solid var(--ti-alert-line);
  border-radius: var(--ti-radius-1);
  background: var(--ti-alert-bg);
  color: var(--ti-alert-ink);
}

body.ti :is(.ti-notice, .ti-familias-alerta) :is(p, a) {
  margin: 0;
  color: var(--ti-alert-ink);
  font-size: var(--ti-step-0);
  line-height: var(--ti-leading);
}

body.ti .ti-notice--ok {
  border-color: var(--ti-accent-text);
  background: var(--ti-accent-soft);
  color: var(--ti-ink);
}

body.ti .ti-notice--ok :is(p, a) {
  color: var(--ti-ink);
}

body.ti :is(.ti-notice--danger, .ti-familias-urgencia) {
  display: block;
  border-color: var(--ti-danger-line);
  border-left: 4px solid var(--ti-danger-ink);
  border-radius: var(--ti-radius-2);
  background: var(--ti-danger-bg);
  color: var(--ti-ink);
}

body.ti :is(.ti-notice--danger, .ti-familias-urgencia) :is(h2, p) {
  color: var(--ti-ink);
}

/* ── Formulario ── ti-cta-empresas, ti-suscripcion */
body.ti .ti-form {
  display: grid;
  gap: var(--ti-space-2);
  margin-top: var(--ti-space-4);
}

body.ti .ti-form label {
  color: var(--ti-ink);
  font-size: var(--ti-step--1);
  font-weight: 600;
}

body.ti .ti-form :is(input[type="text"], input[type="email"], select, textarea) {
  width: 100%;
  min-height: 2.75rem;
  padding: var(--ti-space-2) var(--ti-space-3);
  border: 1px solid var(--ti-muted);
  border-radius: var(--ti-radius-1);
  background: var(--ti-white);
  color: var(--ti-ink);
  font: var(--ti-step-0) / 1.4 var(--ti-font);
}

body.ti .ti-form textarea {
  min-height: 8rem;
}

body.ti .ti-form .ti-form__consent {
  display: flex;
  align-items: flex-start;
  gap: var(--ti-space-3);
  font-weight: 400;
}

body.ti .ti-form .ti-form__consent input {
  flex: 0 0 auto;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: var(--ti-space-1);
}

body.ti .ti-form .ti-btn {
  justify-self: start;
  margin-top: var(--ti-space-3);
}

/* ── Bloques de monetización ── */
body.ti :is(.ti-cta-empresas, .ti-suscripcion, .ti-apoyar) {
  background: var(--ti-surface);
}

body.ti .ti-suscripcion {
  background: var(--ti-primary-soft);
}

body.ti .ti-apoyar {
  background: var(--ti-accent-soft);
}

body.ti :is(.ti-cta-empresas, .ti-suscripcion, .ti-apoyar) .ti-notice {
  margin-inline: 0;
}

/* Patrocinio: solo existe si la página lo activa */
body.ti .ti-sponsor {
  max-width: var(--ti-max);
  margin: var(--ti-space-6) auto;
  padding: var(--ti-space-3) var(--ti-space-4);
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-1);
  background: var(--ti-white);
  color: var(--ti-muted);
  font-size: var(--ti-step--1);
}

body.ti .ti-sponsor p {
  margin: 0;
}

/*
 * 06 pages: ajustes por tipo de página. Solo se cambian tokens y se arma la estructura;
 * los componentes viven en 05-components.css.
 * Orden: marco de página, texto de artículo, hero a todo el ancho, portada, blog, logo, libro, Familias.
 */

/* ── Marco de página: Astra deja de limitar el ancho, cada sección usa --ti-max ── */
body.ti {
  overflow-x: clip;
  font-size: var(--ti-step-0);
  line-height: var(--ti-leading);
}

body.ti:not(.page-id-2036) :is(.site-content, #content) {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 0;
  overflow-x: clip;
}

body.ti:not(.page-id-2036) :is(.site-content, #content) > .ast-container {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 0;
}

body.ti:not(.page-id-2036) #primary,
body.ti:not(.page-id-2036) .site-main,
body.ti:not(.page-id-2036) .entry-content,
body.ti:not(.page-id-2036) .ast-separate-container .ast-article-single {
  float: none;
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 0;
}

body.ti.ti-blog-archive #secondary {
  display: none;
}

/* Astra mete filas con margen negativo para compensar el relleno de su contenedor, que aquí es 0. */
body.ti .site-content .ast-row {
  margin-inline: 0;
}

/* El tema imprime su propio héroe y el contenido trae el suyo: se queda el del contenido. */
body.ti main > header.aurora-page-hero:has(+ .entry-content > section.aurora-page-hero:first-child) {
  display: none;
}

/* Fondo de sección alterno */
body.ti .aurora-section--alt {
  background: var(--ti-surface);
}

/* ── Etiqueta, título y entrada de sección ── */
body.ti :is(.ti-section__label, .aurora-section__label) {
  margin: 0 0 var(--ti-space-2);
  color: var(--ti-accent-text);
  font-size: var(--ti-step--1);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.ti :where(.ti-section, .aurora-section) h2 {
  margin: 0 0 var(--ti-space-3);
  color: var(--ti-ink);
  font-size: var(--ti-step-2);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: var(--ti-leading-tight);
}

body.ti .ti-section--deep :is(h2, h3, p) {
  color: var(--ti-on-deep);
}

body.ti :is(.ti-section__lead, .aurora-section__lead) {
  max-width: 52ch;
  margin: 0 0 var(--ti-space-6);
  color: var(--ti-body);
  font-size: var(--ti-step-0);
  line-height: var(--ti-leading);
}

/* ── Texto de artículo (guías, libros, blog) ── */
body.ti :is(.ti-prose, .aurora-prose-section) {
  color: var(--ti-body);
}

body.ti :is(.ti-prose, .aurora-prose-section) :is(h2, h3) {
  color: var(--ti-ink);
  line-height: var(--ti-leading-tight);
}

body.ti :is(.ti-prose, .aurora-prose-section) h2 {
  margin-top: var(--ti-space-7);
  font-size: var(--ti-step-2);
}

body.ti :is(.ti-prose, .aurora-prose-section) h3 {
  margin-top: var(--ti-space-5);
  font-size: var(--ti-step-1);
}

body.ti :is(.ti-prose, .aurora-prose-section) :is(p, li) {
  color: var(--ti-body);
  font-size: var(--ti-step-0);
  line-height: var(--ti-leading);
}

/* Especificidad baja a propósito (0,1,2): cualquier componente con su propio color de enlace le gana. */
body:where(.ti) :where(.entry-content, .ti-prose, .aurora-prose-section) a[href]:where(:not(.ti-btn, .aurora-btn, [class*="aurora-btn"], .button, .wp-block-button__link, .menu-link, .aurora-pillar__link, .ti-skip-libro, .ti-card__cta, .aurora-entry-card__cta, .ti-retro-btn)) {
  color: var(--ti-primary);
  text-decoration: underline;
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.18em;
}

/* Enlace que ocupa una línea entera: al menos 24 px de alto (1.75rem, porque el tema fija el rem en 15 px) para tocarlo (WCAG 2.5.8). */
body.ti .entry-content :is(li, p) > a:only-child {
  display: inline-block;
  min-height: 1.75rem;
}

/* Texto largo sin cortes (códigos, direcciones) no empuja la página. */
body.ti :is(.entry-content, .ti-prose, .aurora-prose-section) code {
  overflow-wrap: anywhere;
}

body.ti :is(.entry-content, .ti-prose, .aurora-prose-section) pre {
  max-width: 100%;
  overflow-x: auto;
}

@media (max-width: 40rem) {
  body.ti :is(.entry-content, .ti-prose, .aurora-prose-section) table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

body.ti :is(.ti-prose, .aurora-prose-section) table {
  width: 100%;
  margin: var(--ti-space-5) 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: var(--ti-step--1);
}

body.ti :is(.ti-prose, .aurora-prose-section) :is(th, td) {
  padding: var(--ti-space-3);
  border: 1px solid var(--ti-line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: break-word;
}

body.ti :is(.ti-prose, .aurora-prose-section) th {
  background: var(--ti-surface);
  color: var(--ti-ink);
  font-weight: 600;
}

body.ti .ti-table-scroll {
  width: 100%;
  max-width: 100%;
  margin: var(--ti-space-5) 0;
  overflow-x: auto;
}

body.ti .aurora-article {
  max-width: min(var(--ti-max), 100% - 2 * var(--ti-gutter));
  margin-inline: auto;
}

/* Texto suelto del editor (sin sección): columna de lectura con aire lateral. */
body.ti .entry-content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote, table, figure:not([class*="ti-"])) {
  max-width: min(var(--ti-prose), 100% - 2 * var(--ti-gutter));
  margin-inline: auto;
}

body.ti .aurora-article__footer {
  margin-top: var(--ti-space-7);
  padding-top: var(--ti-space-4);
  border-top: 1px solid var(--ti-line);
  color: var(--ti-muted);
  font-size: var(--ti-step--1);
}

/* ── Hero a todo el ancho aunque el HTML viva dentro de un contenedor estrecho ── */
body.ti header.aurora-page-hero,
body.ti .aurora-page-hero--with-image {
  position: relative;
  display: block;
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
}

body.ti header.aurora-page-hero .aurora-page-hero__visual {
  display: none;
}

body.ti :is(.entry-content, .aurora-article):has(> header.aurora-page-hero) {
  overflow: visible;
}

body.ti .aurora-byline {
  margin: 0 0 var(--ti-space-3);
  color: var(--ti-on-deep-muted);
  font-size: var(--ti-step--1);
}

/* ── Portada: la sección de cabecera queda oculta, como antes ── */
body.ti .aurora-hero--mockup {
  display: none;
}

/* ── Blog: tarjetas de entrada ── */
body.ti .aurora-blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ti-space-5);
  width: 100%;
  margin-inline: auto;
}

@media (min-width: 64rem) {
  body.ti .aurora-blog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 40rem) {
  body.ti .aurora-blog-grid {
    grid-template-columns: 1fr;
  }
}

body.ti .aurora-blog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--ti-space-5);
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-2);
  background: var(--ti-white);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.ti .aurora-blog-card:hover {
  border-color: var(--ti-purple);
  box-shadow: var(--ti-shadow-2);
  transform: translateY(-2px);
}

body.ti .aurora-blog-card__meta {
  color: var(--ti-accent-text);
  font-size: var(--ti-step--1);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.ti .aurora-blog-card__title {
  color: var(--ti-ink);
  font-size: var(--ti-step-1);
  font-weight: 600;
  line-height: var(--ti-leading-tight);
}

body.ti .aurora-blog-card__title a {
  color: inherit;
  text-decoration: none;
}

body.ti .aurora-blog-card__excerpt {
  flex-grow: 1;
  color: var(--ti-body);
  font-size: var(--ti-step-0);
  line-height: var(--ti-leading);
}

body.ti .aurora-blog-card__link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  margin-top: auto;
  color: var(--ti-primary);
  font-weight: 600;
  text-decoration: none;
}

body.ti .aurora-blog-pagination .current {
  border-color: var(--ti-primary);
  background: var(--ti-primary);
  color: var(--ti-white);
}

/* ── Logo del encabezado: emblema y nombre sin solaparse ── */
body.ti a.custom-logo-link.ti-brand-lockup {
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: var(--ti-space-3);
  width: auto;
  max-width: min(22rem, 70vw);
  height: auto;
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: visible;
  line-height: 1.2;
}

body.ti a.custom-logo-link.ti-brand-lockup > svg {
  display: none;
}

body.ti a.custom-logo-link.ti-brand-lockup::before {
  content: "";
  display: block;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  background: url("https://talentoinclusivo.org/wp-content/uploads/2026/09/ti-emblem-512.png") center / contain no-repeat;
}

body.ti .ti-brand-lockup__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  max-width: 16rem;
}

body.ti .ti-brand-lockup__name {
  display: block;
  color: var(--ti-ink);
  font-size: var(--ti-step-1);
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
}

body.ti .ti-brand-lockup__tagline {
  display: none;
}

@media (max-width: 40rem) {
  body.ti a.custom-logo-link.ti-brand-lockup {
    gap: var(--ti-space-2);
    max-width: min(16rem, 62vw);
  }

  body.ti a.custom-logo-link.ti-brand-lockup::before {
    flex-basis: 2.35rem;
    width: 2.35rem;
    height: 2.35rem;
  }

  body.ti .ti-brand-lockup__name {
    font-size: var(--ti-step--1);
  }
}

/* ── Libro (guía por condición): índice lateral o cajón ── */
body.ti .ti-skip-libro {
  position: absolute;
  top: 0;
  left: -999px;
  z-index: 1000;
  padding: var(--ti-space-2) var(--ti-space-4);
  background: var(--ti-primary);
  color: var(--ti-white);
}

body.ti .ti-skip-libro:focus {
  top: var(--ti-space-2);
  left: var(--ti-space-2);
}

body.ti .ti-libro-nav {
  margin: 0 0 var(--ti-space-5);
  padding: var(--ti-space-3) var(--ti-space-4);
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-1);
  background: var(--ti-white);
}

body.ti .ti-libro-nav summary {
  font-weight: 650;
  cursor: pointer;
}

body.ti .ti-libro-nav [data-ti-nav-filtro] {
  display: block;
  width: 100%;
  margin: var(--ti-space-2) 0 var(--ti-space-3);
  padding: var(--ti-space-2) var(--ti-space-3);
  font: inherit;
}

body.ti .ti-libro-nav ol {
  max-height: 50vh;
  margin: 0;
  padding-left: var(--ti-space-5);
  overflow: auto;
}

body.ti .ti-libro-nav a[aria-current="location"] {
  font-weight: 700;
  text-decoration: underline;
}

body.ti .ti-libro-down .ti-libro-nav__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

body.ti .ti-libro-down .ti-libro-nav [data-ti-nav-lista] {
  display: block;
}

body.ti .ti-libro-down[data-ti-nav-modo="cajon"] .ti-libro-shell {
  display: block;
}

body.ti .ti-libro-down[data-ti-nav-modo="cajon"] .ti-libro-nav {
  position: fixed;
  z-index: 100001;
}

@media (min-width: 64rem) {
  body.ti .ti-libro-down:not([data-ti-nav-modo]) .ti-libro-shell,
  body.ti .ti-libro-down[data-ti-nav-modo="lateral"] .ti-libro-shell {
    display: grid;
    grid-template-columns: minmax(15rem, 18rem) minmax(0, 1fr);
    gap: var(--ti-space-5);
    align-items: start;
  }

  body.ti .ti-libro-down:not([data-ti-nav-modo]) .ti-libro-nav,
  body.ti .ti-libro-down[data-ti-nav-modo="lateral"] .ti-libro-nav {
    position: sticky;
    top: calc(var(--ti-header-h) + var(--ti-space-4));
    z-index: 30;
    align-self: start;
    width: 100%;
    max-height: calc(100vh - var(--ti-header-h) - var(--ti-space-6));
    margin: 0;
    overflow: auto;
  }

  body.ti .ti-libro-nav ol {
    max-height: none;
  }
}

/* ── Pie: bloque Familias y rejilla de condiciones (6 columnas) ── */
body.ti .ti-mega-footer__familias-head,
body.ti .ti-mega-footer__familias-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

body.ti .ti-mega-footer__familias-head {
  margin-bottom: var(--ti-space-4);
}

body.ti .ti-mega-footer__familias-title {
  margin: 0 0 var(--ti-space-3);
}

body.ti .ti-mega-footer__familias-meta li + li {
  margin-top: var(--ti-space-2);
}

body.ti .ti-mega-footer__conds-grid {
  grid-template-columns: repeat(auto-fill, minmax(9.75rem, 1fr));
  column-gap: var(--ti-space-5);
  row-gap: var(--ti-space-2);
}

@media (min-width: 64rem) {
  body.ti .ti-mega-footer__conds-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

body.ti .ti-mega-footer__brand-text > span:not(:has(strong)) {
  display: none;
}

/* ── Familias (/familias/ y portadas de condición): lectura calmada, mismo sistema ── */
body.ti .ti-aud-familias {
  --ti-step-0: clamp(1.125rem, 1.06rem + 0.3vw, 1.3125rem);
  max-width: 100%;
  overflow-x: clip;
  overflow-wrap: break-word;
  background: var(--ti-surface);
  color: var(--ti-ink);
  padding-inline: env(safe-area-inset-left, 0) env(safe-area-inset-right, 0);
}

body.ti .ti-aud-familias :where(*, *::before, *::after) {
  box-sizing: border-box;
}

body.ti .ti-aud-familias :where(img, svg, video) {
  max-width: 100%;
  height: auto;
}

body.ti .ti-aud-familias a {
  color: var(--ti-accent-text);
}

body.ti .ti-aud-familias a:hover {
  color: var(--ti-ink);
}

body.ti .ti-aud-familias h1 {
  font-size: var(--ti-step-3);
}

body.ti .ti-aud-familias h2 {
  color: var(--ti-ink);
  font-size: var(--ti-step-2);
  font-weight: 600;
}

body.ti .ti-aud-familias h3 {
  color: var(--ti-ink);
  font-size: var(--ti-step-1);
  font-weight: 500;
}

body.ti .ti-aud-familias .aurora-section {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-block: var(--ti-space-6);
  padding-inline: max(var(--ti-gutter), calc((100% - var(--ti-max)) / 2));
}

body.ti .ti-aud-familias .aurora-section--alt {
  border-radius: var(--ti-radius-2);
  background: var(--ti-accent-soft);
}

body.ti .ti-aud-familias .aurora-page-hero__inner {
  max-width: var(--ti-prose);
}

/* Índice de la página: fichas de enlace, 2 columnas en móvil y en fila desde 40 rem */
body.ti .ti-aud-familias .ti-familias-indice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ti-space-2);
  max-width: var(--ti-max);
  margin: 0 auto var(--ti-space-5);
  padding: var(--ti-space-4) var(--ti-gutter);
  list-style: none;
}

@media (min-width: 40rem) {
  body.ti .ti-aud-familias .ti-familias-indice {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--ti-space-2) var(--ti-space-3);
  }
}

body.ti .ti-aud-familias .ti-familias-indice a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: var(--ti-space-2) var(--ti-space-3);
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-1);
  background: var(--ti-white);
  font-size: var(--ti-step--1);
  font-weight: 500;
  text-align: center;
  text-decoration: none;
}

/* En preguntas frecuentes el índice es una línea de enlaces simples */
body.ti .ti-aud-familias #faq .ti-familias-indice {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ti-space-2) var(--ti-space-3);
  padding: var(--ti-space-3) 0 0;
  background: transparent;
  border: 0;
}

body.ti .ti-aud-familias #faq .ti-familias-indice a {
  display: inline-block;
  min-height: 1.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* Cajas de contenido: mismo aire interior y ancho */
body.ti .ti-aud-familias :is(.ti-estado-box, .ti-familias-continuidad, .ti-familias-para-mi, .ti-familias-acordeon, .ti-plantilla-copia, .ti-semaforo-verde, .ti-semaforo-ambar, .ti-semaforo-morado, .ti-semaforo-rojo) {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding: var(--ti-space-5);
}

body.ti .ti-aud-familias .ti-page-destacada__inner {
  max-width: var(--ti-max);
  margin-inline: auto;
}

body.ti .ti-aud-familias .ti-page-destacada img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--ti-radius-2);
}

/* Mapa de rutas y pasos: tarjetas del sistema */
body.ti .ti-aud-familias :is(#mapa .aurora-pillar, .ti-familias-card, .ti-familias-paso, .ti-ficha, #limites .aurora-pillar, #puertas .aurora-pillar) {
  min-width: 0;
  padding: var(--ti-space-4);
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-2);
  background: var(--ti-white);
  box-shadow: var(--ti-shadow-1);
}

body.ti .ti-aud-familias :is(.ti-familias-timeline, #pasos .aurora-pillars--home) {
  display: flex;
  flex-direction: column;
  gap: var(--ti-space-4);
  position: relative;
  max-width: var(--ti-prose);
  padding-left: var(--ti-space-5);
  border-left: 2px solid var(--ti-line);
}

body.ti .ti-aud-familias .ti-familias-paso {
  position: relative;
}

body.ti .ti-aud-familias .ti-familias-paso::before {
  content: "";
  position: absolute;
  top: var(--ti-space-5);
  left: calc(-1 * var(--ti-space-5) - 0.4rem);
  width: 0.8rem;
  height: 0.8rem;
  border: 2px solid var(--ti-surface);
  border-radius: 50%;
  background: var(--ti-accent-text);
}

/* Fichas de directorio: texto y lateral, dos columnas cuando el contenedor lo permite */
body.ti .ti-aud-familias :is(#apoyos, #aliados) {
  container: directorio / inline-size;
}

body.ti .ti-aud-familias .ti-ficha {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ti-space-4);
  height: auto;
}

@container directorio (min-width: 40rem) {
  body.ti .ti-aud-familias .ti-ficha {
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 17rem);
    align-items: stretch;
  }
}

body.ti .ti-aud-familias .ti-ficha__aside {
  display: flex;
  flex-direction: column;
  gap: var(--ti-space-3);
  padding: var(--ti-space-4);
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-1);
  background: var(--ti-accent-soft);
}

body.ti .ti-aud-familias .ti-ficha__aside p {
  margin: 0;
}

body.ti .ti-aud-familias time {
  color: var(--ti-muted);
  font-size: var(--ti-step--1);
}

body.ti .ti-aud-familias a.aurora-pillar__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  margin-top: auto;
  padding: var(--ti-space-3) var(--ti-space-4);
  border-radius: var(--ti-radius-1);
  background: var(--ti-accent-text);
  color: var(--ti-white);
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}

body.ti .ti-aud-familias a.aurora-pillar__link:hover {
  background: var(--ti-ink);
  color: var(--ti-white);
}

/* En el mapa los enlaces van como texto subrayado */
body.ti .ti-aud-familias #mapa a.aurora-pillar__link {
  justify-content: flex-start;
  padding: var(--ti-space-2) 0;
  background: transparent;
  color: var(--ti-accent-text);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

@media (max-width: 40rem) {
  body.ti .ti-aud-familias :is(a.aurora-pillar__link, .ti-ficha__aside .aurora-pillar__link) {
    width: 100%;
  }

  body.ti .ti-aud-familias #mapa a.aurora-pillar__link {
    width: auto;
  }
}

@media (orientation: landscape) and (max-height: 34rem) {
  body.ti .ti-aud-familias .aurora-page-hero {
    padding-block: var(--ti-space-3) var(--ti-space-1);
  }

  body.ti .ti-aud-familias .aurora-section {
    padding-block: var(--ti-space-4);
  }
}

/* Contenido de DI: ruta de hoy y pasos con foco visible */
body.ti .ti-aud-familias :is(#ruta-hoy .aurora-pillar, #pasos .ti-familias-paso):focus-within {
  box-shadow: 0 0 0 3px var(--ti-accent-text);
}

body.ti .ti-aud-familias section[data-ti-zona].ti-di-zona-activa {
  outline: 3px solid var(--ti-accent-text);
  outline-offset: 4px;
  border-radius: var(--ti-radius-1);
}

/* Libro con índice lateral: el héroe vive dentro de la columna, no a todo el ancho (el truco de 100vw lo desplazaba). */
body.ti .ti-libro-main > header.aurora-page-hero {
  width: auto;
  max-width: 100%;
  margin-inline: 0;
}

/* ── Imágenes: foto principal bajo el héroe y figuras dentro del texto ── */
body.ti :is(.ti-home-destacada, .ti-page-destacada) {
  max-width: 100%;
  margin-block: var(--ti-space-5);
  margin-inline: 0;
  padding-inline: var(--ti-gutter);
}

body.ti :is(.ti-home-destacada, .ti-page-destacada) img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--ti-radius-2);
  object-fit: contain;
  object-position: center;
}

body.ti :is(figure.ti-visual-v2, section.ti-visual-v2-onboarding) {
  max-width: min(var(--ti-max), 100%);
  margin: var(--ti-space-5) auto;
  padding-inline: var(--ti-gutter);
}

body.ti :is(figure.ti-visual-v2, section.ti-visual-v2-onboarding) img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 32rem;
  border-radius: var(--ti-radius-2);
  object-fit: contain;
  object-position: center;
}

body.ti figure.ti-visual-v2 figcaption {
  margin-top: var(--ti-space-2);
  color: var(--ti-muted);
  font-size: var(--ti-step--1);
  line-height: 1.45;
  text-align: center;
}

@media (max-width: 40rem) {
  body.ti :is(figure.ti-visual-v2, section.ti-visual-v2-onboarding) img {
    max-height: 28rem;
  }
}

@media print {
  body.ti :is(.ti-home-destacada, .ti-page-destacada, section.ti-visual-v2-onboarding) {
    break-inside: avoid;
  }
}

/* 07 utilities: utilidades de una sola propiedad. Vacío hasta que se necesiten. */

/*
 * 08 a11y: barra de accesibilidad, modos de lectura, diálogo de corrección y módulo de discapacidad intelectual.
 * Va al final para que los modos (html.ti-large-text, .ti-calm-reading, .ti-high-contrast) ganen sin !important:
 * en vez de reescribir reglas, cambian tokens.
 */

/* ── Barra fija bajo el encabezado ── */
body.ti .ti-a11y-bar {
  display: none;
}

body.ti .ti-a11y-toolbar-slot {
  display: block;
  width: 100%;
  height: var(--ti-a11y-bar-h, 7.2rem);
  max-height: 11rem;
  pointer-events: none;
}

body.ti .ti-a11y-toolbar {
  --ti-a11y-fg: var(--ti-ink);
  --ti-a11y-bg: var(--ti-surface);
  --ti-a11y-line: var(--ti-purple);
  --ti-a11y-btn: var(--ti-white);
  --ti-a11y-on: var(--ti-primary);
  position: fixed;
  top: var(--ti-a11y-top, var(--ti-header-h));
  right: 0;
  bottom: auto;
  left: 0;
  z-index: 20;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 14rem));
  justify-content: center;
  justify-items: stretch;
  align-items: stretch;
  gap: var(--ti-space-2);
  width: 100%;
  max-width: 100%;
  max-height: 11rem;
  margin-inline: auto;
  padding: var(--ti-space-2) var(--ti-space-3) var(--ti-space-3);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: var(--ti-a11y-bg);
  color: var(--ti-a11y-fg);
  box-shadow: var(--ti-shadow-2);
}

body.ti .ti-a11y-toolbar::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--ti-a11y-line);
  pointer-events: none;
}

/* Autismo y neurodivergencia: verde calmado, sin el violeta de la marca */
body.ti .ti-a11y-toolbar[data-ti-condicion="autismo-neurodivergencia"] {
  --ti-a11y-fg: var(--ti-calm-ink);
  --ti-a11y-bg: var(--ti-calm-bg);
  --ti-a11y-line: var(--ti-calm-line);
  --ti-a11y-btn: var(--ti-calm-btn);
  --ti-a11y-on: var(--ti-calm-line);
}

body.ti .ti-a11y-toolbar[data-ti-condicion="sindrome-de-down"] {
  --ti-a11y-fg: var(--ti-sky-ink);
  --ti-a11y-bg: var(--ti-sky-bg);
  --ti-a11y-line: var(--ti-focus);
  --ti-a11y-btn: var(--ti-white);
  --ti-a11y-on: var(--ti-focus);
}

body.ti .ti-a11y-toolbar button {
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 2.75rem;
  max-height: 3.4rem;
  margin: 0;
  padding: var(--ti-space-2) var(--ti-space-3);
  border: 2px solid var(--ti-a11y-line);
  border-radius: var(--ti-radius-2);
  background: var(--ti-a11y-btn);
  color: var(--ti-a11y-fg);
  font: 700 var(--ti-step--1) / 1.25 var(--ti-font);
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.ti .ti-a11y-toolbar button[aria-pressed="true"] {
  border-color: var(--ti-a11y-on);
  background: var(--ti-a11y-on);
  color: var(--ti-white);
}

body.ti .ti-a11y-toolbar .ti-a11y-retro,
body.ti .ti-a11y-toolbar .ti-a11y-retro[aria-pressed="true"] {
  border-color: var(--ti-a11y-line);
  background: var(--ti-a11y-btn);
  color: var(--ti-a11y-fg);
}

@media (min-width: 40rem) and (max-width: 68.75rem) {
  body.ti .ti-a11y-toolbar {
    max-height: min(11rem, 38vh);
    overflow-y: auto;
  }
}

@media (min-width: 68.75rem) {
  body.ti .ti-a11y-toolbar {
    grid-template-columns: repeat(4, minmax(0, 14rem));
    max-height: 5.75rem;
  }
}

@media (max-height: 31.25rem) and (orientation: landscape) {
  body.ti .ti-a11y-toolbar button {
    width: min(14rem, 42vw);
    min-height: 2.4rem;
    padding: var(--ti-space-1) var(--ti-space-2);
  }
}

@media print {
  body.ti :is(.ti-a11y-toolbar, .ti-a11y-toolbar-slot) {
    display: none;
  }
}

/* Los botones sueltos de «Corregir texto» solo salen desde la barra */
body.ti :is(.ti-retro-wrap, .ti-retro-pie, .entry-content .ti-retro-btn, .ti-libro-di .ti-retro-btn) {
  display: none;
}

/* ── Texto grande ── */
html.ti-large-text {
  font-size: 150%;
}

html.ti-large-text body.ti :is(.entry-content, .site-main, .aurora-prose-section, .aurora-article) {
  font-size: 1.1em;
}

html.ti-large-text body.ti .ti-a11y-toolbar {
  max-height: min(11rem, 36vh);
  overflow-y: auto;
}

/* ── Lectura calmada: columna angosta, más aire entre líneas ── */
html.ti-calm-reading body.ti :is(.entry-content, .site-main, .aurora-prose-section, .aurora-article) {
  max-width: var(--ti-prose);
  margin-inline: auto;
}

html.ti-calm-reading body.ti {
  --ti-leading: 1.85;
}

html.ti-calm-reading body.ti :is(.entry-content, .aurora-prose-section, .site-main) p {
  letter-spacing: 0.01em;
  word-spacing: 0.04em;
}

html.ti-calm-reading body.ti :is(h1, h2, h3) {
  line-height: 1.35;
  margin-bottom: 0.65em;
}

/* Sin movimiento en lectura calmada y alto contraste */
html:is(.ti-calm-reading, .ti-high-contrast) body.ti :where(*, *::before, *::after) {
  animation-duration: 0.01ms;
  animation-iteration-count: 1;
  transition-duration: 0.01ms;
}

/* ── Alto contraste: cambian los tokens y todo el sistema los sigue ── */
html.ti-high-contrast {
  --ti-ink: var(--ti-hc-ink);
  --ti-body: var(--ti-hc-ink);
  --ti-muted: var(--ti-hc-ink);
  --ti-primary: var(--ti-hc-link);
  --ti-primary-hover: var(--ti-hc-link);
  --ti-accent-text: var(--ti-hc-link);
  --ti-warm-text: var(--ti-hc-ink);
  --ti-surface: var(--ti-hc-bg);
  --ti-white: var(--ti-hc-bg);
  --ti-line: var(--ti-hc-ink);
  --ti-deep: var(--ti-hc-ink);
  --ti-deep-mid: var(--ti-hc-ink);
  --ti-on-deep: var(--ti-hc-bg);
  --ti-on-deep-muted: var(--ti-hc-bg);
}

html.ti-high-contrast body.ti {
  background: var(--ti-hc-bg);
  color: var(--ti-hc-ink);
}

html.ti-high-contrast body.ti a {
  color: var(--ti-hc-link);
}

html.ti-high-contrast body.ti a:visited {
  color: var(--ti-hc-visited);
}

html.ti-high-contrast body.ti :is(.ti-hero, .aurora-page-hero, .ti-cta, .aurora-cta, .ti-footer, .ti-mega-footer, .ti-section--deep) a,
html.ti-high-contrast body.ti :is(.ti-hero, .aurora-page-hero, .ti-cta, .aurora-cta, .ti-footer, .ti-mega-footer, .ti-section--deep) a:visited {
  color: var(--ti-hc-bg);
}

html.ti-high-contrast body.ti :is(.site-header, #masthead, .ti-a11y-toolbar) {
  border-color: var(--ti-hc-ink);
  background: var(--ti-hc-bg);
}

html.ti-high-contrast body.ti :is(.ti-btn, .aurora-btn--hero, .aurora-btn--primary, .aurora-page-hero .aurora-btn--dark) {
  border: 2px solid var(--ti-hc-ink);
  background: var(--ti-hc-mark);
  color: var(--ti-hc-ink);
}

html.ti-high-contrast body.ti .ti-a11y-toolbar button {
  border: 2px solid var(--ti-hc-ink);
  color: var(--ti-hc-ink);
}

html.ti-high-contrast body.ti .ti-a11y-toolbar button[aria-pressed="true"] {
  background: var(--ti-hc-ink);
  color: var(--ti-hc-bg);
}

html.ti-high-contrast body.ti :is(img, svg) {
  filter: contrast(1.15);
}

/* ── Lectura sin filtros ni transparencias en contenido ── */
body.ti :is(.ti-aud-familias section, .ti-aud-familias .aurora-section, .entry-content .ti-aurora section, .ti-libro-main, .ti-libro-shell) {
  opacity: 1;
}

body.ti :is(.ti-aud-familias section, .entry-content .ti-aurora section) :not(img, svg, video, picture) {
  filter: none;
  backdrop-filter: none;
}

/* ── Diálogo «Corregir texto» ── */
body.ti .ti-retro-btn {
  min-height: 2.75rem;
  padding: var(--ti-space-2) var(--ti-space-3);
  border: 2px solid var(--ti-primary);
  border-radius: var(--ti-radius-1);
  background: transparent;
  color: var(--ti-primary);
  font: 600 var(--ti-step--1) / 1.3 var(--ti-font);
  text-decoration: none;
  cursor: pointer;
}

body.ti .ti-retro-btn--pie {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.ti .ti-retro-pie {
  margin: var(--ti-space-6) 0 var(--ti-space-4);
  padding: var(--ti-space-4);
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-2);
  background: var(--ti-surface);
}

body.ti .ti-retro-pie p {
  margin: 0 0 var(--ti-space-3);
  color: var(--ti-muted);
}

body.ti .ti-retro-donar-aviso {
  margin: 0 0 var(--ti-space-5);
  padding: var(--ti-space-3) var(--ti-space-4);
  border-left: 4px solid var(--ti-primary);
  background: var(--ti-surface);
}

body.ti .ti-retro-dialog {
  width: min(32rem, calc(100% - 1.5rem));
  max-height: min(32rem, 85vh);
  padding: var(--ti-space-3) var(--ti-space-4) var(--ti-space-4);
  overflow: auto;
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-2);
}

body.ti .ti-retro-dialog::backdrop {
  background: var(--ti-backdrop);
}

body.ti .ti-retro-cabeza {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ti-space-3);
  margin: calc(-1 * var(--ti-space-3)) calc(-1 * var(--ti-space-4)) var(--ti-space-3);
  padding: var(--ti-space-3) var(--ti-space-4);
  border-bottom: 1px solid var(--ti-line);
  background: var(--ti-white);
}

body.ti .ti-retro-cabeza h2 {
  margin: 0;
  font-size: var(--ti-step-1);
}

body.ti .ti-retro-form label {
  display: block;
  margin: var(--ti-space-3) 0 var(--ti-space-1);
  font-weight: 600;
}

body.ti .ti-retro-form :is(textarea, select) {
  width: 100%;
  font: var(--ti-step-0) / 1.4 var(--ti-font);
}

body.ti .ti-retro-form textarea {
  min-height: 8rem;
}

body.ti .ti-retro-acciones {
  display: flex;
  gap: var(--ti-space-3);
  margin-top: var(--ti-space-4);
}

body.ti .ti-retro-acciones button {
  min-height: 2.75rem;
  padding: var(--ti-space-2) var(--ti-space-4);
  border-radius: var(--ti-radius-1);
  font-weight: 600;
  cursor: pointer;
}

body.ti .ti-retro-enviar {
  border: 0;
  background: var(--ti-primary);
  color: var(--ti-white);
}

body.ti .ti-retro-cerrar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: var(--ti-space-2) var(--ti-space-4);
  border: 2px solid var(--ti-ink);
  border-radius: var(--ti-radius-1);
  background: var(--ti-white);
  color: var(--ti-ink);
  font: 700 var(--ti-step-0) / 1.2 var(--ti-font);
  cursor: pointer;
}

body.ti .ti-retro-msg {
  margin-top: var(--ti-space-3);
}

body.ti .ti-retro-hint {
  margin: var(--ti-space-1) 0 0;
  color: var(--ti-muted);
}

body.ti .ti-retro-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ── Módulo de discapacidad intelectual: migas, búsqueda del libro, intenciones ── */
body.ti .ti-di-migas ol {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ti-space-1) var(--ti-space-2);
  max-width: var(--ti-max);
  margin: 0 auto var(--ti-space-4);
  padding: 0;
  list-style: none;
  font-size: var(--ti-step--1);
}

body.ti .ti-di-migas li:not(:last-child)::after {
  content: "\203A";
  margin-left: var(--ti-space-1);
  color: var(--ti-muted);
}

body.ti .ti-di-migas a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

body.ti .ti-di-toolbar {
  display: none;
}

body.ti .ti-di-btn-calm,
body.ti .ti-di-intents button {
  min-height: 2.75rem;
  padding: var(--ti-space-2) var(--ti-space-4);
  border: 2px solid var(--ti-accent-text);
  background: var(--ti-accent-soft);
  color: var(--ti-accent-text);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}

body.ti .ti-di-btn-calm {
  border-radius: var(--ti-radius-1);
}

body.ti .ti-di-intents button {
  border-radius: 999px;
  background: var(--ti-white);
}

body.ti :is(.ti-di-btn-calm, .ti-di-intents button):hover {
  background: var(--ti-accent-text);
  color: var(--ti-white);
}

body.ti .ti-di-busca-libro {
  position: sticky;
  top: calc(var(--ti-header-h) + var(--ti-space-4));
  z-index: 50;
  margin-bottom: var(--ti-space-3);
  padding: var(--ti-space-3) 0;
  border-bottom: 1px solid var(--ti-line);
  background: var(--ti-surface);
}

body.ti .ti-di-busca-libro input {
  width: 100%;
  max-width: 36rem;
  min-height: 2.75rem;
  padding: var(--ti-space-2) var(--ti-space-3);
  border: 1px solid var(--ti-muted);
  border-radius: var(--ti-radius-1);
  font: inherit;
}

body.ti .ti-di-intents {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ti-space-2);
  margin-top: var(--ti-space-2);
}

/*
 * 09 tema: lo único que lleva !important en toda la hoja. El tema hijo (aurora.css) fuerza estas propiedades con
 * !important y no hay otra forma de ganarles sin editar el tema. Cada regla nombra la del tema que contrarresta.
 * Salida de esta lista: cuando aurora.css deje de forzarlas (o se edite el tema), se borra la regla y baja el conteo.
 */

/* aurora.css: body.ti-aurora-active .ti-brand-lockup__tagline { display: block !important } */
body.ti .ti-brand-lockup__tagline {
  display: none !important;
}

/* aurora.css: body.ti-aurora-active .entry-content, .entry-content p { font-size: 1rem !important } */
body.ti .entry-content,
body.ti .entry-content :is(p, li):not([class]),
body.ti .aurora-prose-section :is(p, li) {
  font-size: var(--ti-step-0) !important;
  line-height: var(--ti-leading) !important;
}

/* aurora.css: body.ti-aurora-active .main-header-menu a { white-space: normal !important; display: inline-block !important } */
body.ti.ast-desktop:not(.ti-nav-compact) #ast-desktop-header .main-header-menu > .menu-item > .menu-link {
  display: inline-flex !important;
  white-space: nowrap !important;
}
