.elementor-kit-6{--e-global-color-primary:#004AAD;--e-global-color-secondary:#38B6FF;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-8e272ca:#E60D0D;--e-global-color-024328c:#FFFFFF;--e-global-color-dbe2d36:#B743430D;--e-global-color-b5ed22c:#020101FA;--e-global-color-867ac0c:#D6D6CC;--e-global-color-2818c96:#BAA666;--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;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-secondary );box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);border-radius:10px 10px 10px 10px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 h1{color:var( --e-global-color-primary );font-family:"Roboto Mono", Sans-serif;font-size:33px;font-weight:800;}.elementor-kit-6 h2{color:var( --e-global-color-primary );font-family:"Roboto Condensed", Sans-serif;font-size:32px;font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:870px;}.e-con{--container-max-width:870px;}.elementor-widget:not(:last-child){margin-block-end: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-section.elementor-section-boxed > .elementor-container{max-width:730px;}.e-con{--container-max-width:730px;}}@media(max-width:767px){.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; }

/* ============ TOC sticky alineado arriba ============ */
@media (min-width: 1025px) {
  /* Asegura que ningún ancestro corte el sticky */
  .columna-toc,
  .columna-toc > .elementor-widget-wrap { overflow: visible !important; }

  .columna-toc {
    position: sticky;
    top: calc(var(--header-h) + 12px);
    align-self: flex-start;
    max-height: calc(100vh - (var(--header-h) + 24px));
    overflow-y: auto;
    padding-right: 6px;
    box-sizing: border-box;
  }

  #tocTop {
    max-height: calc(100vh - (var(--header-h) + 24px));
    overflow-y: auto;
  }

  /* Scrollbar (Chrome/Safari/Edge) */
  .columna-toc::-webkit-scrollbar,
  #tocTop::-webkit-scrollbar { width: 6px; }
  .columna-toc::-webkit-scrollbar-track,
  #tocTop::-webkit-scrollbar-track { background: transparent; }
  .columna-toc::-webkit-scrollbar-thumb,
  #tocTop::-webkit-scrollbar-thumb { background: rgba(0,0,0,.25); border-radius: 6px; }

  /* Scrollbar (Firefox) */
  #tocTop, .columna-toc { scrollbar-width: thin; scrollbar-color: rgba(0,0,0,.25) transparent; }
}

/* ============ 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;
}

/* Bloque redes Home */
.fg-social-home {
  text-align: center;
}

.fg-social-home h3 {
  font-size: 1.2rem;
  margin-bottom: 0.75rem;
}

/* Ajustes genéricos para widgets de iconos sociales de Elementor */
.fg-social-home .elementor-social-icon,
.fg-social-footer .elementor-social-icon {
  transition: transform 0.15s ease, opacity 0.15s ease;
  opacity: 0.9;
}

.fg-social-home .elementor-social-icon:hover,
.fg-social-footer .elementor-social-icon:hover {
  transform: translateY(-2px);
  opacity: 1;
}

/* Footer: bloque redes */
.fg-social-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end; /* Cambia a center si lo quieres centrado */
  font-size: 0.9rem;
}

.fg-social-footer-label {
  color: #666;
}

.fg-social-footer .elementor-social-icon {
  font-size: 20px;
}

/* Si usas enlaces de texto en lugar de iconos en el footer */
.fg-social-link {
  color: #555;
  text-decoration: none;
  margin: 0 4px;
  transition: color 0.15s ease, transform 0.15s ease;
}

.fg-social-link:hover {
  color: #2c7a4b; /* Ajusta al color de tu marca */
  transform: translateY(-1px);
}/* End custom CSS */