.elementor-2038 .elementor-element.elementor-element-6e0d86f > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:10px;}.elementor-2038 .elementor-element.elementor-element-6e0d86f > .elementor-element-populated{margin:0px 0px 0px 06px;--e-column-margin-right:0px;--e-column-margin-left:06px;padding:0px 0px 025px 0px;}.elementor-2038 .elementor-element.elementor-element-9a560b9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2038 .elementor-element.elementor-element-9a560b9 .jet-listing-dynamic-field__content{color:var( --e-global-color-5fa2b27 );font-family:"DM Sans", Sans-serif;font-size:17px;font-weight:500;text-align:left;}.elementor-2038 .elementor-element.elementor-element-9a560b9 .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-2038 .elementor-element.elementor-element-9a560b9 .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-2038 .elementor-element.elementor-element-9a560b9 .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-2038 .elementor-element.elementor-element-4df3bfb .jet-listing-dynamic-field__content{color:var( --e-global-color-5fa2b27 );font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;text-align:left;}.elementor-2038 .elementor-element.elementor-element-4df3bfb .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-2038 .elementor-element.elementor-element-4df3bfb .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-2038 .elementor-element.elementor-element-4df3bfb .jet-listing-dynamic-field{justify-content:flex-start;}/* Start custom CSS for section, class: .elementor-element-d036441 *//* === Evitar cortes por overflow en JetEngine Grid / Timeline === */
.jet-listing-grid.timeline,
.jet-listing-grid.timeline .jet-listing-grid__items,
.jet-listing-grid.timeline .jet-listing-grid__item,
.timeline,
.timeline .timeline-item{
  overflow: visible !important;
}

/* === Timeline === */
.timeline{
  counter-reset: step;
}

/* Ítem */
.timeline-item{
  position: relative;
  padding-left: 52px;     /* espacio para círculo y línea */
  margin: 0px 0;         /* separación entre pasos */
  counter-increment: step;
  min-height: 40px;       /* asegura altura para que la línea exista */
}

/* Círculo con número (33x33, alineado a la izquierda) */
.timeline-item::before{
  content: counter(step);
  position: absolute;
  left: 0;                /* borde izquierdo del ítem */
  top: -2px;              /* alineación vertical respecto al contenido */
  width: 33px;
  height: 33px;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  line-height: 33px;
  text-align: center;
  z-index: 2;
  pointer-events: none;
}

/* Línea vertical (en todos los ítems por defecto) */
.timeline-item::after{
  content: "";
  position: absolute;

  /* centro del círculo de 33px => 16.5px desde left:0; - (grosor/2) para centrar */
  left: calc(33px / 2 - 1px);  /* con width ~2px queda centrada */
  top: 33px;                   /* justo bajo el círculo */
  bottom: -20px;               /* se prolonga hacia el siguiente ítem */
  width: 2px;                  /* redondeo desde 1.8px a 2px */
  background: #111;
  z-index: 1;
  pointer-events: none;
}

/* Ocultar la línea SOLO en el último ítem (dos casos) */
/* Caso estructura simple: .timeline > .timeline-item */
.timeline > .timeline-item:last-child::after{
  display: none;
}
/* Caso JetEngine Grid: wrapper intermedio */
.timeline .jet-listing-grid__item:last-child .timeline-item::after{
  display: none;
}

/* Responsive opcional */
@media (max-width: 767px){
  .timeline-item{
    padding-left: 44px;
    margin: 18px 0;
    min-height: 36px;
  }
  .timeline-item::before{
    width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 12px;
    top: -1px;
  }
  .timeline-item::after{
    left: calc(28px / 2 - 1px);
    top: 28px;
    bottom: -18px;
    width: 2px;
  }
}/* End custom CSS */