.elementor-kit-65564{--e-global-color-primary:#19D47B;--e-global-color-secondary:#A9F43A;--e-global-color-text:#10231B;--e-global-color-accent:#61CE70;--e-global-color-8b80574:#06130F;--e-global-color-158dcea:#F3F8F4;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-65564 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   AEC CONTABLE 1.0 — CSS CONSOLIDADO
   Mantiene los IDs y clases existentes.
   ========================================================= */

/* Secciones de ancho completo */
#fila-operacion {
  box-sizing: border-box;
  padding-left: max(20px, calc((100% - 1280px) / 2));
  padding-right: max(20px, calc((100% - 1280px) / 2));
}

#seccion-familiar,
#preguntas {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding-left: max(20px, calc((100% - 1280px) / 2)) !important;
  padding-right: max(20px, calc((100% - 1280px) / 2)) !important;
}

/* Acordeón FAQ: compatible con los dos formatos de Elementor */
#preguntas .elementor-accordion-item,
#preguntas .e-n-accordion-item {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid #C9D4CD !important;
}

#preguntas .elementor-accordion-item:last-child,
#preguntas .e-n-accordion-item:last-child {
  border-bottom: 1px solid #C9D4CD !important;
}

#preguntas .elementor-tab-title,
#preguntas .e-n-accordion-item-title {
  display: flex !important;
  align-items: center !important;
  padding: 26px 0 !important;
  background: transparent !important;
  border: none !important;
  color: #071A13 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

#preguntas .elementor-accordion-icon,
#preguntas .e-n-accordion-item-title-icon {
  order: 2 !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  color: #279B4B !important;
}

#preguntas .elementor-tab-content,
#preguntas .elementor-tab-content p,
#preguntas .e-n-accordion-item-content,
#preguntas .e-n-accordion-item-content p {
  padding: 0 0 26px !important;
  background: transparent !important;
  border: none !important;
  color: #657B70 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* Evita desplazamiento horizontal en teléfono y Tablet */
html,
body {
  overflow-x: hidden !important;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* =========================================================
   TABLET: 768px a 1024px
   ========================================================= */
@media (min-width: 768px) and (max-width: 1024px) {

  /* Filas de columnas y métricas */
  .responsive-row {
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
  }

  .responsive-row > .e-con,
  .metricas-row > .e-con {
    flex: 0 0 calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    min-width: 0 !important;
  }

  .responsive-row img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Menú existente: se conserva menu-principal */
  #menu-principal {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
    z-index: 20 !important;
  }

  #menu-principal nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
    white-space: nowrap !important;
  }

  #menu-principal .elementor-widget-container {
    white-space: nowrap !important;
  }

  #menu-principal p,
  #menu-principal span,
  #menu-principal a {
    display: inline-block !important;
    margin: 0 5px !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    color: #9CB1A7 !important;
  }

  #menu-principal a:hover {
    color: #A9F43A !important;
  }

  /* Hero: texto a la izquierda e imagen a la derecha */
  .hero-mobile {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 22px !important;
  }

  .hero-mobile > * {
    min-width: 0 !important;
  }

  .hero-mobile > *:first-child {
    flex: 0 0 54% !important;
    width: 54% !important;
    max-width: 54% !important;
  }

  .hero-mobile > *:last-child {
    flex: 0 0 46% !important;
    width: 46% !important;
    max-width: 46% !important;
  }

  .hero-mobile h1,
  .hero-mobile .elementor-heading-title {
    font-size: 42px !important;
    line-height: 1.06 !important;
    letter-spacing: -1px !important;
    word-break: normal !important;
  }

  .hero-mobile p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .hero-mobile .elementor-widget-button {
    position: static !important;
    float: none !important;
    transform: none !important;
    width: auto !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  .hero-mobile .elementor-button,
  .hero-mobile a {
    max-width: 100% !important;
    white-space: nowrap !important;
  }

  .hero-mobile img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Zona de la imagen y tarjetas superpuestas */
  .hero-visual {
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    overflow: visible !important;
  }

  .visual-imagen img {
    max-width: 100% !important;
    height: auto !important;
  }

  .tarjeta-control,
  .tarjeta-reportes {
    width: 190px !important;
    max-width: 190px !important;
  }

  /* Contenedor que contiene los dos botones del hero */
  .botones-hero-tablet {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    position: static !important;
  }

  .botones-hero-tablet .boton-hero-principal,
  .botones-hero-tablet .boton-hero-principal a,
  .botones-hero-tablet .boton-hero-principal .elementor-button {
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
    margin: 0 !important;
    padding: 14px 10px !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    position: static !important;
    transform: none !important;
    overflow: visible !important;
  }

  .botones-hero-tablet .boton-explorar,
  .botones-hero-tablet .boton-explorar a,
  .botones-hero-tablet .boton-explorar .elementor-button {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 130px !important;
    margin: 0 !important;
    white-space: nowrap !important;
    position: static !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Botón superior */
  .boton-solicitar,
  .boton-solicitar a,
  .boton-solicitar .elementor-button {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    padding: 10px 8px !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================
   TELÉFONO: hasta 767px
   ========================================================= */
@media (max-width: 767px) {

  /* Filas generales en una columna */
  .responsive-row {
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 28px !important;
  }

  .responsive-row > .e-con {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .responsive-row img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Métricas en dos columnas */
  .metricas-row {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
  }

  .metricas-row > .e-con {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
  }

  /* Botones de la llamada final */
  .cta-botones {
    flex-direction: column !important;
    width: 100% !important;
    gap: 14px !important;
  }

  .cta-botones > .e-con,
  .cta-botones > .elementor-widget {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Hero en una columna */
  .hero-mobile {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
  }

  .hero-mobile > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
  }

  .hero-mobile h1,
  .hero-mobile h2,
  .hero-mobile .elementor-heading-title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 40px !important;
    line-height: 1.05 !important;
    letter-spacing: -1px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  .hero-mobile p {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  .hero-mobile .elementor-button {
    width: auto !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }

  .hero-mobile img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Imagen y tarjetas apiladas */
  .hero-visual {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    overflow: visible !important;
  }

  .hero-visual > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .visual-imagen {
    order: 1 !important;
    position: relative !important;
    transform: none !important;
  }

  .visual-imagen img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .tarjeta-control {
    order: 2 !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    margin: 0 auto !important;
  }

  .tarjeta-reportes {
    order: 3 !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    margin: 0 auto !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {

  .botones-hero-tablet .boton-hero-principal,
  .botones-hero-tablet .boton-hero-principal a,
  .botones-hero-tablet .boton-hero-principal .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;
    padding: 14px 12px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
}/* End custom CSS */