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

/* Elementor breakpoint probe for animation scripts */
#elementor-device-mode-wpr:after,
#elementor-device-mode:after {
  content: "desktop";
}

@media (max-width: 1025px) {
  #elementor-device-mode-wpr:after,
  #elementor-device-mode:after {
    content: "tablet";
  }
}

@media (max-width: 767px) {
  #elementor-device-mode-wpr:after,
  #elementor-device-mode:after {
    content: "mobile";
  }
}

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;
  }
}

/* Desktop: header/footer logos */
@media (min-width: 1026px) {
  .elementor-1433 .elementor-element.elementor-element-3631ca7c img,
  header .elementor-element-3631ca7c img,
  .elementor-1353 .elementor-element.elementor-element-0d5410d img,
  footer .elementor-element-0d5410d img {
    width: auto !important;
    max-width: min(230px, 100%) !important;
    height: auto !important;
    max-height: 40px;
    object-fit: contain;
    object-position: left center;
  }
}

/* Hello Elementor theme footer logo */
.site-footer .site-logo img,
.site-footer .custom-logo-link img {
  width: auto;
  max-width: min(230px, 100%);
  height: auto;
  max-height: 40px;
  object-fit: contain;
}

/* 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%;
  }
}

/* Stacked Elementor button widgets (hero CTAs, etc.) */
.elementor-widget-button + .elementor-widget-button {
  margin-top: 16px;
}

.mbc-form-cta-row > .elementor-element.elementor-widget-button + .elementor-element.elementor-widget-button {
  margin-top: 0 !important;
}

/* Space between copy and the next CTA */
.elementor-widget-text-editor + .elementor-widget-button,
.elementor-widget-heading + .elementor-widget-button,
.elementor-widget-image + .elementor-widget-button,
.elementor-widget-jet-table + .elementor-widget-button {
  margin-top: 20px;
}

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

/* iOS app download — center carousel image between arrows */
.elementor-1261 .elementor-element-554b53f .elementor-image-carousel-wrapper {
  position: relative;
}

.elementor-1261 .elementor-element-554b53f .swiper-slide,
.elementor-1261 .elementor-element-554b53f .swiper-slide-inner {
  text-align: center;
}

.elementor-1261 .elementor-element-554b53f .swiper-slide-image {
  display: block;
  margin-inline: auto;
  max-width: min(500px, calc(100% - 96px));
  height: auto;
}

/* Post thumbnails/banners — never crop wide match graphics */
.elementor-widget-theme-post-featured-image img,
.elementor-widget-theme-post-featured-image .attachment-medium_large {
  display: block;
  width: 100%;
  max-width: min(900px, 100%);
  height: auto !important;
  object-fit: contain;
  object-position: center;
  margin-inline: auto;
}

.archive .page-content img.wp-post-image,
.category .page-content img.wp-post-image,
.author .page-content img.wp-post-image {
  display: block;
  width: 100%;
  max-width: min(900px, 100%);
  height: auto !important;
  object-fit: contain;
  object-position: center;
  margin: 0.75rem 0 1rem;
}

/* Fallback if export still has 1x1 placeholder attrs */
img[width="1"][height="1"],
.attachment-medium_large[width="1"],
.attachment-large[width="1"],
img.wp-post-image[width="1"] {
  width: 100%;
  height: auto !important;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

.elementor-widget-theme-post-featured-image img[width="1"][height="1"],
.elementor-widget-theme-post-featured-image .attachment-medium_large[width="1"] {
  max-width: min(900px, 100%);
}

.archive .page-content img.wp-post-image[width="1"],
.category .page-content img.wp-post-image[width="1"] {
  max-width: min(900px, 100%);
}
