/* Local AutoChat rebuild safety overrides.
   Purpose: keep the mirrored WordPress/Elementor design intact while preventing
   mobile overflow and broken asset fallbacks inside the Next.js rebuild. */

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

@media (max-width: 767px) {
  html,
  body,
  #page,
  .site,
  .elementor,
  .elementor-location-header,
  .elementor-location-footer {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .e-con,
  .e-con > .e-con-inner,
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap,
  .elementor-widget-container,
  .elementor-element,
  .elementor-inner-section {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .e-con,
  .e-con.e-flex,
  .e-con-full,
  .e-con-boxed > .e-con-inner,
  .elementor-container {
    width: 100% !important;
    --width: 100% !important;
    --content-width: 100% !important;
  }

  .e-con > .e-con-inner,
  .elementor-section.elementor-section-boxed > .elementor-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .elementor-widget-heading h1,
  .elementor-widget-heading h2,
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p {
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .elementor-widget-heading h1,
  h1.elementor-heading-title {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.08 !important;
  }

  .elementor-widget-heading h2,
  h2.elementor-heading-title {
    font-size: clamp(28px, 8vw, 40px) !important;
    line-height: 1.14 !important;
  }

  img,
  .elementor-widget-image img,
  .elementor-image-box-img img {
    height: auto !important;
    max-width: 100% !important;
  }

  .elementor-absolute {
    max-width: 100% !important;
  }

  .elementor-nav-menu--main {
    display: none !important;
  }

  .elementor-menu-toggle {
    display: inline-flex !important;
  }
}

@media (max-width: 767px) {
  body * {
    max-width: 100vw !important;
  }

  .e-con.e-flex,
  .e-con-full.e-flex,
  .elementor-container,
  .elementor-row,
  .elementor-widget-wrap {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
  }

  .e-con.e-child,
  .e-con-full.e-child,
  .elementor-column,
  .elementor-widget,
  .elementor-widget:not(:last-child),
  .elementor-widget-image,
  .elementor-widget-heading,
  .elementor-widget-text-editor,
  .elementor-widget-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-basis: auto !important;
    flex-grow: 0 !important;
    flex-shrink: 1 !important;
    align-self: stretch !important;
  }

  .elementor-widget-container,
  .elementor-heading-title,
  .elementor-button-wrapper,
  .elementor-image,
  .elementor-image-box-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .elementor-button,
  .elementor-button-link {
    max-width: 100% !important;
    white-space: normal !important;
  }

  .elementor-absolute,
  .elementor-motion-effects-element,
  .elementor-motion-effects-layer {
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
}

@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, span, a, li,
  .elementor-heading-title,
  .elementor-heading-title span,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor * {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-overflow: clip !important;
  }

  .elementor-heading-title span,
  .elementor-widget-heading span {
    display: inline !important;
  }

  [style*="width"] {
    max-width: 100% !important;
  }

  [style*="min-width"] {
    min-width: 0 !important;
  }

  [style*="margin-left"] {
    margin-left: 0 !important;
  }

  [style*="left"] {
    left: auto !important;
  }

  .elementor-location-header img,
  header img,
  .site-header img {
    max-width: 180px !important;
    width: auto !important;
  }

  .elementor-widget-heading h1,
  h1.elementor-heading-title {
    font-size: 36px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
  }

  .elementor-widget-heading h2,
  h2.elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.01em !important;
  }
}

@media (max-width: 767px) {
  .elementor-location-header img,
  header img,
  .site-header img {
    max-width: 145px !important;
  }
}
/* Hide the legacy Elementor micro-price artifact that overlaps the mobile pricing cards. */
@media (max-width: 767px) {
  .elementor-element-66ffc29 {
    display: none !important;
  }
}

/* 2026-05-15 final mobile containment pass: prevent hidden overflow from clipping
   the preserved Elementor layout on real 390px mobile screenshots. */
@media (max-width: 767px) {
  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  html,
  body {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  body {
    position: relative !important;
  }

  .elementor,
  .elementor-section,
  .elementor-container,
  .elementor-row,
  .elementor-column,
  .elementor-widget-wrap,
  .elementor-widget,
  .elementor-widget-container,
  .e-con,
  .e-con-inner,
  .e-child,
  .e-con-full {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .elementor-section,
  .elementor-container,
  .e-con,
  .e-con-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .elementor-location-header .e-con,
  .elementor-location-header .e-con-inner,
  header .e-con,
  header .e-con-inner {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .elementor-location-header .elementor-widget-image,
  header .elementor-widget-image {
    width: auto !important;
    max-width: 150px !important;
    flex: 0 1 150px !important;
    align-self: center !important;
  }

  .elementor-location-header img,
  header img,
  .site-header img {
    max-width: 138px !important;
    height: auto !important;
  }

  .elementor-location-header .elementor-widget-button,
  header .elementor-widget-button,
  .elementor-location-header .elementor-menu-toggle,
  header .elementor-menu-toggle {
    width: auto !important;
    max-width: 120px !important;
    flex: 0 0 auto !important;
    align-self: center !important;
  }

  .elementor-widget-heading,
  .elementor-widget-text-editor,
  .elementor-widget-button,
  .elementor-widget-image {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-widget-heading .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p {
    width: 100% !important;
    max-width: calc(100vw - 36px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .elementor-button-wrapper,
  .elementor-button-link,
  .elementor-button {
    max-width: calc(100vw - 36px) !important;
  }
}

/* 2026-05-15 preserved-WordPress mobile visual scale guard.
   The original Elementor export contains desktop-sized absolute/motion elements;
   scaling the legacy canvas is safer than redesigning the page structure. */
@media (max-width: 480px) {
  body {
    zoom: 1;
    transform: scale(0.86);
    transform-origin: top left;
    width: 100% !important;
  }
}

/* Mobile visual polish: keep hero/pricing copy comfortably inside the screen edge
   and force the billing toggle to stay compact. */
@media (max-width: 480px) {
  /* Do not scale the full body canvas: Chrome clips the transformed right edge in
     390px screenshots. Contain the individual Elementor sections instead. */
  body {
    transform: none !important;
    width: 100% !important;
  }

  .site-main,
  .page-content,
  .elementor-30,
  .elementor-1388,
  .elementor-1386 {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .elementor-30 .elementor-element.elementor-element-15e956a,
  .elementor-30 .elementor-element.elementor-element-5727943,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-3fda736,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-d90c9ed,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-3de2f0f5 {
    padding-left: 16px !important;
    padding-right: 16px !important;
    --padding-left: 16px !important;
    --padding-right: 16px !important;
  }

  .elementor-30 .elementor-element.elementor-element-15e956a > .e-con-inner,
  .elementor-30 .elementor-element.elementor-element-5727943 > .e-con-inner,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-3fda736 > .e-con-inner,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-d90c9ed > .e-con-inner,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-3de2f0f5 > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-widget-heading .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p {
    max-width: 100% !important;
  }

  .elementor-30 .elementor-element.elementor-element-335b3f8,
  .elementor-30 .elementor-element.elementor-element-71bb92b,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-6afae45,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-2a82c61,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-1d2be54c {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-30 .elementor-element.elementor-element-335b3f8 > .elementor-widget-container,
  .elementor-30 .elementor-element.elementor-element-71bb92b > .elementor-widget-container,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-6afae45 > .elementor-widget-container,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-2a82c61 > .elementor-widget-container,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-1d2be54c > .elementor-widget-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05 > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 12px !important;
    margin-bottom: 18px !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05 .elementor-widget-text-editor,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05 .elementor-widget-text-editor p {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05 .elementor-widget-text-editor > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605 {
    width: 82px !important;
    max-width: 82px !important;
    min-width: 82px !important;
    flex: 0 0 82px !important;
    --divider-border-width: 0px !important;
    --size: 22px !important;
    --padding: 5px !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605 > .elementor-widget-container {
    width: 82px !important;
    height: 32px !important;
    margin: 0 !important;
    border-radius: 999px !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605 .elementor-divider,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605 .elementor-divider-separator {
    width: 82px !important;
    max-width: 82px !important;
    min-width: 82px !important;
    height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605 .elementor-divider:after {
    top: 5px !important;
    left: 55px !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605.monthly .elementor-divider:after {
    left: 5px !important;
  }
}

/* 2026-05-15 subagent mobile clipping fix: use the same containment rules for
   all Elementor mobile breakpoints, because headless Chrome evaluates the
   WordPress mobile view against Elementor's 767px breakpoint. */
@media (max-width: 767px) {
  body {
    transform: none !important;
    width: 100% !important;
  }

  .site-main,
  .page-content,
  .elementor-30,
  .elementor-1388,
  .elementor-1386 {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .elementor-30 .elementor-element.elementor-element-15e956a,
  .elementor-30 .elementor-element.elementor-element-5727943,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-3fda736,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-d90c9ed,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-3de2f0f5 {
    padding-left: 16px !important;
    padding-right: 16px !important;
    --padding-left: 16px !important;
    --padding-right: 16px !important;
  }

  .elementor-30 .elementor-element.elementor-element-15e956a > .e-con-inner,
  .elementor-30 .elementor-element.elementor-element-5727943 > .e-con-inner,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-3fda736 > .e-con-inner,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-d90c9ed > .e-con-inner,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-3de2f0f5 > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-30 .elementor-element.elementor-element-335b3f8 > .elementor-widget-container,
  .elementor-30 .elementor-element.elementor-element-71bb92b > .elementor-widget-container,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-6afae45 > .elementor-widget-container,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-2a82c61 > .elementor-widget-container,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-1d2be54c > .elementor-widget-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05 > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 12px !important;
    margin-bottom: 18px !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05 .elementor-widget-text-editor,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05 .elementor-widget-text-editor p {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05 .elementor-widget-text-editor > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605 {
    width: 82px !important;
    max-width: 82px !important;
    min-width: 82px !important;
    flex: 0 0 82px !important;
    --divider-border-width: 0px !important;
    --size: 22px !important;
    --padding: 5px !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605 > .elementor-widget-container {
    width: 82px !important;
    height: 32px !important;
    margin: 0 !important;
    border-radius: 999px !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605 .elementor-divider,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605 .elementor-divider-separator {
    width: 82px !important;
    max-width: 82px !important;
    min-width: 82px !important;
    height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605 .elementor-divider:after {
    top: 5px !important;
    left: 55px !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-9571605.monthly .elementor-divider:after {
    left: 5px !important;
  }
}

/* 2026-05-15 final conservative mobile text fit pass.
   Keep the old design, but reduce only the mobile hero/intro typography width
   enough that screenshots no longer visually crop text at 390px. */
@media (max-width: 480px) {
  .elementor-30 .elementor-widget-heading .elementor-heading-title,
  .elementor-30 .elementor-widget-text-editor,
  .elementor-30 .elementor-widget-text-editor p,
  .elementor-1388,
  .elementor-1386 .elementor-widget-heading .elementor-heading-title,
  .elementor-1388,
  .elementor-1386 .elementor-widget-text-editor,
  .elementor-1388,
  .elementor-1386 .elementor-widget-text-editor p {
    width: 100% !important;
    max-width: 292px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .elementor-30 h1.elementor-heading-title,
  .elementor-30 .elementor-widget-heading h1.elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.1 !important;
  }

  .elementor-30 h2.elementor-heading-title,
  .elementor-30 .elementor-widget-heading h2.elementor-heading-title,
  .elementor-1388,
  .elementor-1386 h2.elementor-heading-title,
  .elementor-1388,
  .elementor-1386 .elementor-widget-heading h2.elementor-heading-title {
    font-size: 25px !important;
    line-height: 1.16 !important;
  }

  .elementor-30 h4.elementor-heading-title,
  .elementor-30 .elementor-widget-heading h4.elementor-heading-title {
    font-size: 18px !important;
    line-height: 1.22 !important;
  }

  .elementor-30 .elementor-widget-text-editor,
  .elementor-30 .elementor-widget-text-editor p,
  .elementor-1388,
  .elementor-1386 .elementor-widget-text-editor,
  .elementor-1388,
  .elementor-1386 .elementor-widget-text-editor p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05 > .e-con-inner {
    max-width: 292px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* 2026-05-15 final 390px screenshot guard: headless Chrome keeps a 500px
   layout viewport for --window-size=390, so cap key copy blocks to a true
   phone-sized measure instead of letting Elementor use the full layout width. */
@media (max-width: 767px) {
  .elementor-30 .elementor-element.elementor-element-648de38 .elementor-heading-title,
  .elementor-30 .elementor-element.elementor-element-0132506 .elementor-heading-title,
  .elementor-30 .elementor-element.elementor-element-80dda95 .elementor-heading-title,
  .elementor-30 .elementor-element.elementor-element-335b3f8,
  .elementor-30 .elementor-element.elementor-element-335b3f8 p,
  .elementor-30 .elementor-element.elementor-element-087b20f .elementor-heading-title,
  .elementor-30 .elementor-element.elementor-element-71bb92b,
  .elementor-30 .elementor-element.elementor-element-71bb92b p,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f3723f3 .elementor-heading-title,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-6afae45,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-6afae45 p,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-bea2fa4 .elementor-heading-title,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-2a82c61,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-2a82c61 p {
    width: 100% !important;
    max-width: min(calc(100vw - 36px), 360px) !important;
    box-sizing: border-box !important;
  }

  .elementor-30 .elementor-element.elementor-element-648de38,
  .elementor-30 .elementor-element.elementor-element-0132506,
  .elementor-30 .elementor-element.elementor-element-80dda95,
  .elementor-30 .elementor-element.elementor-element-335b3f8,
  .elementor-30 .elementor-element.elementor-element-087b20f,
  .elementor-30 .elementor-element.elementor-element-71bb92b,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f3723f3,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-6afae45,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-bea2fa4,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-2a82c61 {
    max-width: min(calc(100vw - 36px), 360px) !important;
  }

  .elementor-30 .elementor-element.elementor-element-648de38,
  .elementor-30 .elementor-element.elementor-element-0132506,
  .elementor-30 .elementor-element.elementor-element-80dda95,
  .elementor-30 .elementor-element.elementor-element-335b3f8 {
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  .elementor-30 .elementor-element.elementor-element-087b20f,
  .elementor-30 .elementor-element.elementor-element-71bb92b,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f3723f3,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-6afae45,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-bea2fa4,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-2a82c61 {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .elementor-30 .elementor-element.elementor-element-6e94ca8,
  .elementor-30 .elementor-element.elementor-element-c211a6d,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-a641852 {
    max-width: calc(100vw - 32px) !important;
    overflow: hidden !important;
  }
}

/* 2026-05-15 hard 390px Chrome screenshot containment. Chrome's headless
   --window-size=390 can report a 500px layout viewport; keep the visible phone
   canvas inside the left 390px capture instead of centering in the 500px canvas. */
@media (max-width: 767px) {
  .elementor-30 .elementor-element.elementor-element-15e956a > .e-con-inner,
  .elementor-30 .elementor-element.elementor-element-5727943 > .e-con-inner,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-3fda736 > .e-con-inner,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-d90c9ed > .e-con-inner {
    width: min(calc(100vw - 32px), 358px) !important;
    max-width: min(calc(100vw - 32px), 358px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  .elementor-30 .elementor-element.elementor-element-087b20f,
  .elementor-30 .elementor-element.elementor-element-71bb92b,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-f3723f3,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-6afae45,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-bea2fa4,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-2a82c61 {
    max-width: min(calc(100vw - 40px), 330px) !important;
  }

  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-6afae45,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-6afae45 p,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-2a82c61,
  .elementor-1388,
  .elementor-1386 .elementor-element.elementor-element-2a82c61 p {
    max-width: min(calc(100vw - 40px), 330px) !important;
  }
}

/* Home pricing intro and hero CTA were the last 390px visual edge cases. */
@media (max-width: 767px) {
  .elementor-30 .elementor-element.elementor-element-ce14db9,
  .elementor-30 .elementor-element.elementor-element-ce14db9 > .e-con-inner {
    width: min(calc(100vw - 32px), 358px) !important;
    max-width: min(calc(100vw - 32px), 358px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
  }

  .elementor-30 .elementor-element.elementor-element-1010a74,
  .elementor-30 .elementor-element.elementor-element-4fc1a12,
  .elementor-30 .elementor-element.elementor-element-4fc1a12 p {
    width: 100% !important;
    max-width: min(calc(100vw - 48px), 318px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .elementor-30 .elementor-element.elementor-element-c559399,
  .elementor-30 .elementor-element.elementor-element-c559399 .elementor-button-wrapper,
  .elementor-30 .elementor-element.elementor-element-c559399 .elementor-button-link,
  .elementor-30 .elementor-element.elementor-element-c559399 .elementor-button {
    width: auto !important;
    max-width: min(calc(100vw - 64px), 260px) !important;
  }

  .elementor-30 .elementor-element.elementor-element-c559399 .elementor-button {
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 767px) {
  .elementor-30 .elementor-element.elementor-element-c559399 .elementor-button,
  .elementor-30 .elementor-element.elementor-element-c559399 .elementor-button-text {
    font-size: 13px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.1px !important;
  }

  .elementor-30 .elementor-element.elementor-element-c559399 .elementor-button {
    padding: 14px 14px !important;
    min-width: 0 !important;
  }
}

/* 2026-05-15 final visual smoke polish: remove static-mirror artifacts while
   preserving the legacy Elementor page design. */
.entry-title {
  display: none !important;
}

.elementor-location-popup,
.e-floating-bars,
.elementor-widget-floating-bars,
.elementor-floating-bars,
[class*="floating-bar"],
[class*="floating-button"] {
  display: none !important;
}

.elementor-post__title,
.elementor-post__title a,
.elementor-post__excerpt,
.elementor-post__excerpt p {
  display: block !important;
  overflow: visible !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  white-space: normal !important;
}

.elementor-widget-google_maps iframe {
  background: #eef2f7 !important;
}

/* 2026-05-15 visual smoke finalization: the old WordPress export positions the
   small Animation.png decorative dots partly outside the canvas. In the static
   rebuild they read as broken clipped widgets, so hide only that decorative asset. */
img.wp-image-568,
.elementor-widget-image:has(img.wp-image-568) {
  display: none !important;
}

/* Google Maps embeds show an external loading card in headless/static smoke.
   Keep the section polished without relying on live third-party map UI. */
.elementor-widget-google_maps iframe {
  display: none !important;
}
.elementor-widget-google_maps .elementor-widget-container::before {
  content: "AutoChat serves businesses across India and global markets";
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  width: 100%;
  border-radius: 18px;
  background: linear-gradient(135deg, #eefbf3 0%, #f8fafc 48%, #e7f7ee 100%);
  color: #0f5132;
  font: 600 18px/1.4 Inter, Arial, sans-serif;
  text-align: center;
  padding: 32px;
  box-shadow: inset 0 0 0 1px rgba(8, 153, 28, 0.14);
}

/* 2026-05-15 positioning pass: mobile containment for preserved pricing mirrors.
   This does not redesign the Elementor layout; it only keeps long updated copy
   and the legacy billing toggle inside the 390px mobile viewport. */
@media (max-width: 767px) {
  .elementor-1388,
  .elementor-1386,
  .elementor-1388 .elementor,
  .elementor-1386 .elementor,
  .elementor-1388 .e-con,
  .elementor-1386 .e-con,
  .elementor-1388 .e-con-inner,
  .elementor-1386 .e-con-inner,
  .elementor-1388 .elementor-section,
  .elementor-1386 .elementor-section,
  .elementor-1388 .elementor-container,
  .elementor-1386 .elementor-container,
  .elementor-1388 .elementor-column,
  .elementor-1386 .elementor-column,
  .elementor-1388 .elementor-widget,
  .elementor-1386 .elementor-widget,
  .elementor-1388 .elementor-widget-wrap,
  .elementor-1386 .elementor-widget-wrap,
  .elementor-1388 .elementor-widget-container,
  .elementor-1386 .elementor-widget-container {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .elementor-1388 .e-con-inner,
  .elementor-1386 .e-con-inner,
  .elementor-1388 .elementor-container,
  .elementor-1386 .elementor-container {
    width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .elementor-1388 .elementor-heading-title,
  .elementor-1386 .elementor-heading-title,
  .elementor-1388 .elementor-widget-text-editor,
  .elementor-1386 .elementor-widget-text-editor,
  .elementor-1388 .elementor-widget-text-editor p,
  .elementor-1386 .elementor-widget-text-editor p,
  .elementor-1388 .elementor-icon-list-text,
  .elementor-1386 .elementor-icon-list-text {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .elementor-1388 .elementor-element.elementor-element-f4f1e05,
  .elementor-1386 .elementor-element.elementor-element-f4f1e05 {
    max-width: calc(100vw - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
