/* Keep the shared Elementor layout within narrow phone viewports. */
@media (max-width: 767px) {
  html {
    overflow-x: hidden;
    overflow-x: clip;
  }
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
  }
  .elementor .elementor-column,
  .elementor .elementor-widget-wrap,
  .elementor .elementor-widget,
  .elementor .e-con,
  .elementor .e-con-inner {
    min-width: 0;
  }
  .elementor .elementor-widget-image img,
  .elementor .elementor-widget-google_maps iframe,
  .elementor form,
  .elementor .elementor-field-group {
    max-width: 100%;
  }
  .elementor p,
  .elementor .elementor-heading-title,
  .elementor .elementor-icon-list-text {
    overflow-wrap: anywhere;
  }

  /* The editor's fixed preview controls must also fit a phone screen. */
  #wpvibe-preview-banner {
    box-sizing: border-box;
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 12px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  }
  #wpvibe-preview-banner .wpvibe-badge {
    flex: 1 1 100%;
    justify-content: center;
    min-width: 0;
  }
  #wpvibe-preview-banner .wpvibe-info {
    display: none;
  }
  #wpvibe-preview-banner .wpvibe-btn {
    flex: 0 1 auto;
    min-width: 0;
    white-space: normal;
    text-align: center;
  }
  body.wpvibe-preview-active {
    padding-bottom: 140px !important;
  }
}
