/* Site-wide visual fixes for static export */
:root {
  --site-shell-max-width: 1102px;
}

html {
  overflow-x: clip;
}

body {
  overflow-x: clip;
}

.elementor-widget-container,
.elementor-widget-wrap {
  min-width: 0;
}

.elementor img,
.elementor video,
.elementor iframe {
  max-width: 100%;
  height: auto;
}

/* Unified content column (header / footer / inner pages) */
.elementor-kit-10 .elementor-1433 > .elementor-section > .elementor-container,
.elementor-kit-10 .elementor-1353 > .elementor-section > .elementor-container,
.elementor-kit-10 header.elementor-section > .elementor-container {
  max-width: var(--site-shell-max-width);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* Inner pages only — homepage keeps full-width Elementor layout */
.elementor-kit-10 body:not(.home) .e-con {
  --container-max-width: var(--site-shell-max-width);
}

.elementor-kit-10 body:not(.home) .e-con-boxed > .e-con-inner {
  max-width: var(--site-shell-max-width);
  margin-inline: auto;
  width: 100%;
}

.elementor-kit-10 .elementor[data-elementor-type="wp-post"],
.elementor-kit-10 .elementor.elementor-location-archive,
.elementor-kit-10 .elementor[data-elementor-type="wp-page"]:not(.elementor-1404):not(.elementor-3200) {
  width: 100%;
  max-width: var(--site-shell-max-width);
  margin-inline: auto;
  padding-inline: clamp(12px, 4vw, 40px);
  box-sizing: border-box;
}

.elementor-kit-10 .elementor[data-elementor-type="wp-post"] .e-con-full,
.elementor-kit-10 .elementor.elementor-location-archive .e-con-full,
.elementor-kit-10 .elementor[data-elementor-type="wp-page"]:not(.elementor-1404):not(.elementor-3200) .e-con-full {
  width: 100%;
  max-width: 100%;
}

/* Homepage: full viewport width as designed */
.elementor-kit-10 .elementor-1404,
.elementor-kit-10 .elementor-3200 {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

.elementor-1433 .elementor-nav-menu--main .elementor-item,
.elementor-1353 .elementor-nav-menu--main .elementor-item {
  font-family: inherit;
}

/* Mobile/tablet: logo readable but must not push menu/button */
@media (max-width: 1025px) {
  .elementor-1433 .elementor-element.elementor-element-7162f764 > .elementor-container,
  header.elementor-element-7162f764 > .elementor-container {
    max-width: 100% !important;
    padding-inline: 10px !important;
  }

  .elementor-1433 .elementor-element.elementor-element-43ee276,
  header .elementor-element-43ee276 {
    width: 38% !important;
  }

  .elementor-1433 .elementor-element.elementor-element-37b0b0ae,
  header .elementor-element-37b0b0ae {
    width: 62% !important;
  }

  .elementor-1433 .elementor-element.elementor-element-37b0b0ae > .elementor-widget-wrap,
  header .elementor-element-37b0b0ae > .elementor-widget-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 8px;
  }

  .elementor-1433 .elementor-element.elementor-element-3631ca7c,
  header .elementor-element-3631ca7c {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-1433 .elementor-element.elementor-element-3631ca7c img,
  header .elementor-element-3631ca7c img {
    width: auto !important;
    max-width: min(140px, 36vw) !important;
    height: auto !important;
    max-height: 30px;
    object-fit: contain;
    object-position: left center;
  }
}

@media (max-width: 767px) {
  .elementor-1433 .elementor-element.elementor-element-7162f764,
  header.elementor-element-7162f764 {
    width: 100% !important;
  }

  .elementor-1433 .elementor-element.elementor-element-7162f764 > .elementor-container,
  header.elementor-element-7162f764 > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-1433 .elementor-element.elementor-element-43ee276,
  header .elementor-element-43ee276 {
    width: 42% !important;
  }

  .elementor-1433 .elementor-element.elementor-element-37b0b0ae,
  header .elementor-element-37b0b0ae {
    width: 58% !important;
  }

  .elementor-1433 .elementor-element.elementor-element-3631ca7c img,
  header .elementor-element-3631ca7c img {
    max-width: min(120px, 34vw) !important;
    max-height: 26px;
  }

  .elementor-1433 .elementor-element.elementor-element-53d8c3a1,
  header .elementor-element-53d8c3a1 {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto;
  }

  .elementor-1433 .elementor-element.elementor-element-dd0655a,
  header .elementor-element-dd0655a {
    flex: 0 0 auto;
  }
}

/* Homepage overflow: widget width > 100% */
.elementor-1404 .elementor-element.elementor-element-b91a709 {
  width: 100% !important;
  max-width: 100% !important;
  --container-widget-width: 100% !important;
}

@media (max-width: 1025px) {
  .elementor-1404 .elementor-element.elementor-element-57bac716 > .elementor-widget-container,
  .elementor-1404 .elementor-element.elementor-element-7a6694f5 > .elementor-widget-container {
    margin-left: 0 !important;
  }
}

/* Lazy placeholder SVGs should not stretch layout */
img[src^="data:image/svg+xml"] {
  max-width: 100%;
}

/* Form replacement CTAs */
.mbc-form-cta-row {
  display: flex !important;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  padding: 28px 0 20px;
}

.elementor-widget-form:has(.mbc-form-cta-row) {
  margin-top: 8px;
}

.mbc-form-cta-row > .elementor-element.elementor-widget-button {
  width: auto !important;
  max-width: 100%;
  flex: 0 0 auto;
  margin: 0 !important;
}

.elementor-widget-form .mbc-form-cta-row .elementor-button-wrapper,
.elementor-widget-form .mbc-form-cta-row .elementor-button,
.elementor-widget-form.elementor-button-align-stretch .mbc-form-cta-row .elementor-button {
  width: auto !important;
}

@media (max-width: 767px) {
  .mbc-form-cta-row {
    flex-direction: column;
    gap: 12px;
    padding-top: 22px;
  }

  .mbc-form-cta-row > .elementor-element.elementor-widget-button {
    width: 100% !important;
    max-width: 340px;
  }

  .mbc-form-cta-row .elementor-button {
    width: 100%;
  }
}
