/* Automatinator — mobile viewport / overflow fixes */

#page-wrap,
#page-wrap > .page-content {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  html {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
  }

  body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
  }

  #page-wrap,
  #page-wrap > .page-content,
  .elementor-10,
  .elementor-location-header {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden;
    box-sizing: border-box;
  }

  .elementor-10 .e-con[data-id] {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  /* Hero inner + sections: post-10 uses 84%, 63vw, 88vw, 96vw, 100vw on mobile */
  .elementor-10 .elementor-element.elementor-element-3038578,
  .elementor-10 .elementor-element.elementor-element-a957107,
  .elementor-10 .elementor-element.elementor-element-a428847,
  .elementor-10 .elementor-element.elementor-element-aba79ae,
  .elementor-10 .elementor-element.elementor-element-f59d03d,
  .elementor-10 .elementor-element.elementor-element-5d85b8f,
  .elementor-10 .elementor-element.elementor-element-6ba42a1,
  .elementor-10 .elementor-element.elementor-element-1c4e44c,
  .elementor-10 .elementor-element.elementor-element-10d4394,
  .elementor-10 .elementor-element.elementor-element-d1a4405,
  .elementor-10 .elementor-element.elementor-element-af29e9a,
  .elementor-10 .elementor-element.elementor-element-3b6b62e,
  #Pricing-Section {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-10 .e-con {
    --width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-10 .e-con.e-parent,
  .elementor-10 .e-con.e-child {
    width: 100% !important;
  }

  .elementor-10 .e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Motion layers should not extend past the viewport */
  .elementor-10 .elementor-motion-effects-container,
  .elementor-10 .elementor-motion-effects-layer {
    max-width: 100% !important;
  }

  /* post-10 @1024px: -29px horizontal margins widen hero past the viewport */
  .elementor-10 .elementor-element.elementor-element-44aa2c5
    > .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  .elementor-10 .elementor-element.elementor-element-44aa2c5
    .elementor-heading-title {
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .elementor-10 .elementor-element.elementor-element-a957107,
  .elementor-10 .elementor-element.elementor-element-3038578 {
    overflow-x: hidden;
    max-width: 100% !important;
  }

  /* Carousels / sliders: off-screen slides were ~1175px wide in layout audit */
  .elementor-10 .swiper,
  .elementor-10 .swiper-wrapper,
  .elementor-10 .elementor-image-carousel-wrapper,
  .elementor-10 .elementor-widget-image-carousel,
  .elementor-10 .elementor-widget-testimonial-carousel {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* post-10 @1024px: -51px side margins + 50px padding on step icon boxes */
  .elementor-10 .elementor-element.elementor-element-734255b
    > .elementor-widget-container,
  .elementor-10 .elementor-element.elementor-element-8bfd7e5
    > .elementor-widget-container,
  .elementor-10 .elementor-element.elementor-element-9c57420
    > .elementor-widget-container,
  .elementor-10 .elementor-element.elementor-element-32b11fd
    > .elementor-widget-container,
  .elementor-10 .elementor-element.elementor-element-23b1467
    > .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .elementor-10 .elementor-element.elementor-element-734255b,
  .elementor-10 .elementor-element.elementor-element-8bfd7e5,
  .elementor-10 .elementor-element.elementor-element-9c57420,
  .elementor-10 .elementor-element.elementor-element-32b11fd,
  .elementor-10 .elementor-element.elementor-element-23b1467 {
    --container-widget-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .elementor-10 .elementor-element.elementor-element-6ba42a1 {
    display: flex !important;
    flex-wrap: wrap !important;
    --flex-wrap-mobile: wrap !important;
    justify-content: center !important;
    overflow-x: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
    gap: 0.75rem !important;
  }

  .elementor-10 .elementor-element.elementor-element-6ba42a1 > .elementor-element {
    flex: 1 1 42% !important;
    max-width: 48% !important;
    min-width: 0 !important;
    --width: 100% !important;
    --container-widget-width: 100% !important;
    width: auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .elementor-10 .elementor-element.elementor-element-6ba42a1
    .elementor-icon-box-wrapper {
    max-width: 100% !important;
    width: 100% !important;
  }

  .elementor-10 .swiper-slide {
    max-width: 100% !important;
  }
}
