/* old above */

@media (max-width: 768px) {
  .elementor-element-71bc235 .e-con-inner {
    padding-right: 10px;
  }
}

/*
  This CSS makes the three service columns (Consulting, Testing, Training)
  act as vertical flex containers.
*/
.elementor-element-71bc235>.e-con-inner>.e-con {
  display: flex;
  flex-direction: column;
}

/*
  This targets the button widget within each of those columns and applies
  an automatic top margin. In a flex column, this pushes the element
  all the way to the bottom, aligning them perfectly.
*/
.elementor-element-71bc235 .elementor-widget-button {
  margin-top: auto;
}

/* Ensure the main parent container behaves as a flex row */
.elementor-element-71bc235>.e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  /* This makes the direct child *containers* equal height */
  flex-wrap: wrap !important;
  gap: 20px !important;
  /* Adjust gap as needed */
  width: 100% !important;
}

/* Ensure each individual service box (Consulting, Testing, Training) fills its assigned height and width */
.elementor-element-71bc235>.e-con-inner>.e-con-full {
  flex: 1 1 calc(33.33% - 13.33px);
  /* Approx. 1/3 width with gap */
  margin: 0 !important;
  height: auto !important;
  /* Let Flexbox determine height */

  /* Ensure content inside each box stacks vertically and expands to fill height */
  display: flex !important;
  flex-direction: column !important;
}

/* Force a consistent height for the image containers and the images themselves */
.elementor-element-71bc235 .elementor-widget-image {
  /* Set a desired fixed height for all image containers */
  height: 214px !important;
  /* <<< ADJUST THIS VALUE AS NEEDED for desired image height */
  overflow: hidden !important;
  /* Hide any overflow if image doesn't fit perfectly */
  display: flex !important;
  /* Use flex to easily center/align image inside */
  align-items: center !important;
  /* Vertically center the image within its widget */
  justify-content: center !important;
  /* Horizontally center the image */
}

.elementor-element-71bc235 .elementor-widget-image picture,
.elementor-element-71bc235 .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  /* Make image fill the fixed height of its parent widget */
  object-fit: cover !important;
  /* Cover the area while maintaining aspect ratio */
}

/* Make the text content area (and spacers if present) expand to push the button to the bottom */
.elementor-element-71bc235 .elementor-widget-text-editor,
.elementor-element-71bc235 .elementor-widget-spacer {
  flex-grow: 1 !important;
  /* This pushes elements below it to the bottom of the container */
}

.elementor-widget-image picture {
  display: table;
  margin: auto !important;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
a,
span,
div,
.elementor-widget-container,
.elementor-text-editor {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
}

/* --- Desktop/Tablet Styles (already working, remains unchanged for larger screens) --- */
.elementor-element-71bc235>.e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  width: 100% !important;
}

.elementor-element-71bc235>.e-con-inner>.e-con-full {
  flex: 1 1 calc(33.33% - 13.33px);
  margin: 0 !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Force a consistent height for the image containers and the images themselves on Desktop/Tablet */
.elementor-element-71bc235 .elementor-widget-image {
  height: 214px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-element-71bc235 .elementor-widget-image picture,
.elementor-element-71bc235 .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Make the text content area (and spacers if present) expand to push the button to the bottom */
.elementor-element-71bc235 .elementor-widget-text-editor,
.elementor-element-71bc235 .elementor-widget-spacer {
  flex-grow: 1 !important;
}


/* --- Mobile Responsiveness (Styles applied ONLY on screens up to 767px wide) --- */
@media (max-width: 767px) {

  /* Change the main parent container's direction to column on mobile */
  .elementor-element-71bc235>.e-con-inner {
    flex-direction: column !important;
    gap: 20px !important;
  }

  /* Make each individual service box take full width on mobile, so they stack nicely */
  .elementor-element-71bc235>.e-con-inner>.e-con-full {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }

  /* Adjust image height for mobile: auto height for better scaling, plus min/max limits */
  .elementor-element-71bc235 .elementor-widget-image {
    height: auto !important;
    min-height: 120px !important;
    max-height: 200px !important;
  }

  .elementor-element-71bc235 .elementor-widget-image picture,
  .elementor-element-71bc235 .elementor-widget-image img {
    height: auto !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  /* Ensure text within the columns wraps and is visible */
  .elementor-element-71bc235 .elementor-widget-text-editor p {
    white-space: normal !important;
    overflow: visible !important;
  }

  .elementor-29190 .elementor-element.elementor-element-fd3c9a6 {
    margin-left: 1px;
    margin-right: 1px;
    padding: 0px !important;

  }

  .elementor-element-08959ab {
    padding: 15px !important;
  }

  .elementor-element.elementor-element-fd3c9a6::before {
    background-color: #ffffff !important;
    --background-overlay: '';
  }
}

/* New Custom Styles */

.elementor-kit-482 a {
  color: #930046;
  border: none !important;
}

@media (max-width: 768px) {
  .elementor-element-dfccdf3 .e-con-inner {
    padding-right: 10px !important;
  }
}

@media (max-width: 767px) {
  .elementor-element-dfccdf3 .elementor-hidden-mobile {
    display: flex !important;
  }

  .elementor-945 .elementor-element.elementor-element-f415141 {
    --display: flex;
    --margin-top: 10px;
    --margin-bottom: 50px;
    --margin-left: 10px;
    --margin-right: 10px;
    --padding-top: 25px;
    --padding-bottom: 25px;
    --padding-left: 25px;
    --padding-right: 25px;
  }
}

.sigma-contact-info .sigma-contact-item {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  
}