/* Elementor integration */
.ava-elementor-page .ava-main--elementor,.ava-elementor-content .ava-main--elementor{width:100%;max-width:none;margin:0;padding:0}.ava-elementor-page .elementor-section.elementor-section-boxed>.elementor-container{max-width:var(--ava-container)}.ava-elementor-page .e-con.e-con-boxed>.e-con-inner{max-width:var(--ava-container)}.ava-elementor-page .elementor-widget-container{min-width:0}.ava-elementor-page .elementor img{height:auto}.ava-elementor-page .elementor-button{border-radius:var(--ava-button-radius);font-family:var(--ava-font);font-weight:var(--ava-button-weight)}
/* Keep dropdowns over Elementor stacking contexts. */
.ava-site-header,.ava-site-header .ava-header-shell,.ava-site-header .ava-primary-navigation,.ava-site-header .ava-main-menu{overflow:visible!important}.ava-site-header{isolation:isolate}.ava-site-header~.ava-site{position:relative;z-index:1}.elementor-location-header{position:relative;z-index:100000}.elementor-location-header,.elementor-location-header .e-con,.elementor-location-header .elementor-container,.elementor-location-header .elementor-widget-wrap{overflow:visible!important}
/* Ava plugin integration */
.ava-has-portfolio-plugin .aps-wrap,.ava-has-portfolio-plugin .aps-home-widget{font-family:var(--ava-font)}.ava-has-portfolio-plugin .aps-container{max-width:var(--ava-container)}

/* 3.0.1: prevent Elementor and legacy widgets from creating horizontal layout overflow. */
.ava-elementor-page,
.ava-elementor-page #page,
.ava-elementor-page .ava-main--elementor,
.ava-elementor-page .elementor,
.ava-elementor-page .elementor-section,
.ava-elementor-page .elementor-container,
.ava-elementor-page .elementor-column,
.ava-elementor-page .elementor-widget-wrap,
.ava-elementor-page .elementor-widget,
.ava-elementor-page .elementor-widget-container,
.ava-elementor-page .e-con,
.ava-elementor-page .e-con-inner { min-width:0; max-width:100%; }
.ava-elementor-page .elementor-section.elementor-section-full_width,
.ava-elementor-page .e-con.e-con-full { width:100%; }
.ava-elementor-page :where(img,svg,video,canvas,iframe) { max-width:100%; }
.ava-elementor-page :where(input,select,textarea,button) { max-width:100%; }
.ava-elementor-page .elementor-widget-text-editor :where(table) { display:block; width:100%; max-width:100%; overflow-x:auto; }
@media(max-width:767px){
  .ava-elementor-page .elementor-section-wrap,
  .ava-elementor-page .elementor-section,
  .ava-elementor-page .e-con { max-width:100vw; }
  .ava-elementor-page .elementor-widget-container { overflow-wrap:anywhere; }
}

/* 3.0.2 — resilient responsive behavior for migrated Elementor layouts. */
.ava-legacy-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: clip;
  font-family: var(--ava-font);
}
.ava-legacy-page :where(.elementor-invisible) {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}
.ava-legacy-page :where(.elementor-widget:empty,.elementor-widget-container:empty) {
  display: none !important;
}
.ava-legacy-page :where(.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget,.elementor-widget-container,.e-con,.e-con-inner) {
  min-width: 0;
}
.ava-legacy-page :where(.elementor-section.elementor-section-boxed > .elementor-container,.e-con.e-con-boxed > .e-con-inner) {
  width: min(calc(100% - (2 * var(--ava-gutter))), var(--ava-container));
  max-width: var(--ava-container) !important;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .ava-legacy-page :where(.elementor-section.elementor-section-boxed > .elementor-container,.e-con.e-con-boxed > .e-con-inner) {
    width: calc(100% - (2 * var(--ava-gutter-tablet)));
  }
}
@media (max-width: 767px) {
  .ava-legacy-page :where(.elementor-section.elementor-section-boxed > .elementor-container,.e-con.e-con-boxed > .e-con-inner) {
    width: calc(100% - (2 * var(--ava-gutter-mobile)));
  }
  .ava-legacy-page :where(.elementor-column,.elementor-widget,.elementor-widget-container) {
    max-width: 100% !important;
  }
  .ava-legacy-page :where([style*="min-width"],[style*="width: 1"],[style*="width:1"]) {
    min-width: 0 !important;
  }
}
/* Physical-device fallback also works when an obsolete cached viewport tag
   makes CSS media queries believe the phone is a desktop viewport. */
.ava-physical-mobile .ava-legacy-page :where(.elementor-section.elementor-section-boxed > .elementor-container,.e-con.e-con-boxed > .e-con-inner) {
  width: calc(100% - 32px) !important;
  max-width: 100% !important;
}
.ava-physical-mobile .ava-legacy-page :where(.elementor-column,.elementor-widget,.elementor-widget-container,.e-con,.e-con-inner) {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Empty migrated Elementor output must not reserve full-screen whitespace. */
.ava-legacy-page .ava-legacy-empty-widget,
.ava-legacy-page .ava-legacy-empty-section,
.ava-legacy-location .ava-legacy-empty-widget,
.ava-legacy-location .ava-legacy-empty-section {
  display: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 767px) {
  .ava-legacy-page :where(.elementor-section-height-min-height,.e-con[style*="min-height"]) {
    min-height: auto;
  }
}
.ava-physical-mobile .ava-legacy-page :where(.elementor-section-height-min-height,.e-con[style*="min-height"]) {
  min-height: auto !important;
}
