.elementor-kit-5{--e-global-color-primary:#004AAD;--e-global-color-secondary:#38B6FF;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-194ca3b:#E60D0D;--e-global-color-374f2b5:#FFFFFF;--e-global-color-d66796b:#020101FA;--e-global-color-1c9e15d:#BAA666;--e-global-color-5b67531:#D6D6CC;--e-global-typography-primary-font-family:"Roboto Mono";--e-global-typography-primary-font-size:33px;--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto Mono";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto Condensed";--e-global-typography-accent-font-size:32px;--e-global-typography-accent-font-weight:500;font-family:"Roboto Mono", Sans-serif;font-size:17px;font-weight:400;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 h1{color:var( --e-global-color-primary );font-family:"Roboto Mono", Sans-serif;font-size:33px;font-weight:800;}.elementor-kit-5 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-5 h2{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5 h2{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============ Layout global y anclas ============ */
:root { --header-h: 80px; } /* respaldo si el JS aún no corrió */
html { scroll-behavior: smooth; }

:target { /* títulos anclados no quedan tapados por el header */
  scroll-margin-top: calc(var(--header-h) + 12px);
}

/* Evita que la columna de contenido "empuje" hacia abajo por margen colapsado */
.columna-contenido > .elementor-widget:first-child { margin-top: 0 !important; }
.columna-contenido h1:first-child,
.columna-contenido h2:first-child { margin-top: 0.2em !important; }
.columna-contenido { padding-top: 0 !important; }


/* ============ Estilos visuales del TOC ============ */
#tocTop .elementor-toc__list { list-style: none; margin: 0; padding: 0; }

#tocTop a.elementor-toc__list-item-text {
  position: relative; display: block; padding-left: 1.25em; line-height: 1.45;
}
#tocTop a.elementor-toc__list-item-text::before {
  content: "›" !important; position: absolute !important; left: 0 !important;
  top: 0.15em !important; transform: none !important; line-height: 1 !important; display: inline-block !important;
}
#tocTop .elementor-toc__icon,
#tocTop .elementor-toc__list-item i,
#tocTop .elementor-toc__list-item svg { display: none !important; }

#tocTop .elementor-toc__list .elementor-toc__list a.elementor-toc__list-item-text::before {
  font-size: 0.9em; opacity: 0.85;
}

/* Limpieza de bordes/sombras */
#tocTop,
#tocTop .elementor-widget-container,
.elementor-widget-toc .elementor-widget-container,
.elementor-widget-toc .elementor-toc__body,
.elementor-widget-toc .elementor-toc__list-wrapper {
  border: none !important; box-shadow: none !important;
}

/* H2 top-level */
#tocTop a.elementor-toc__list-item-text.elementor-toc__top-level {
  font-weight: 700 !important; font-size: 1.05em !important; color: #004AAD !important;
}
/* H3 inferiores */
#tocTop a.elementor-toc__list-item-text:not(.elementor-toc__top-level) {
  font-weight: 400 !important; font-size: 0.90em !important; color: #666 !important; margin-left: 0.75em !important;
}

/* ============ Secciones extendidas con límite ============ */
.elementor-section.elementor-section-stretched > .elementor-container {
  max-width: 1320px; width: 100%; margin: 0 auto;
  padding-left: 20px; padding-right: 20px; box-sizing: border-box;
}
@media (min-width: 1600px) {
  .elementor-section.elementor-section-stretched > .elementor-container { max-width: 1400px; }
}
/* Sección extendida a pantalla completa para media */
.elementor-section.elementor-section-stretched.full-media > .elementor-container {
  max-width: 100% !important; padding: 0 !important;
}


/* === Contenedor de la TABLA DE CONTENIDOS — limitar altura + scroll === */

.toc-wrapper {
  max-height: 180px;            /* prueba con 260 y ajustas luego */
  overflow-y: auto;
  padding-right: 8px;
}

/* Scrollbar elegante en navegadores WebKit */
.toc-wrapper::-webkit-scrollbar {
  width: 6px;
}
.toc-wrapper::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.25);
  border-radius: 4px;
}

/* === TOC en móvil: más compacto y cómodo === */
@media (max-width: 767px) {
  .toc-wrapper {
    max-height: 190px;      /* ajusta a tu gusto: 160–220 suele ir bien */
    overflow-y: auto;
    margin-left: -10px;     /* para que ocupe bien el ancho en móvil */
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .toc-wrapper .elementor-toc__list-item-text {
    font-size: 0.9em;       /* texto un poco más compacto */
    line-height: 1.35;
  }

  .toc-wrapper .elementor-toc__top-level {
    font-weight: 600;
  }
}
/* === TOC móvil ajustado al mismo ancho que el contenido === */
@media (max-width: 767px) {
  .toc-wrapper {
    width: 100% !important;
    margin: 0 !important;          /* elimina el estrechamiento */
    padding: 0 0 !important;       /* respeta el padding propio del contenedor */
    box-sizing: border-box;
  }

  /* Ajustar un pequeño padding interno para que respire */
  .toc-wrapper .elementor-toc__body,
  .toc-wrapper .elementor-toc__header {
    padding-left: 10px;
    padding-right: 10px;
  }
}/* End custom CSS */