/* DigitalFLO V17.10.0 — Phase 8 responsive/UX hardening.
 * Scope: native-v18 page bodies only. This file does not restyle the Astra desktop header.
 * Elementor remains the owner of content widths, gaps and device-specific layout settings.
 */
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .e-con,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .e-con-inner,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-element,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-container{
  min-width:0;
  max-width:100%;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor img,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor picture,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor video,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor canvas,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor svg{
  max-width:100%;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor img,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor video{
  height:auto;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor iframe,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-video,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-wrapper iframe,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-google_maps iframe{
  max-width:100%;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor :is(h1,h2,h3,h4,h5,h6,p,li,a,span){
  overflow-wrap:break-word;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor a[href^="http"],
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor a[href^="mailto:"],
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor a[href^="tel:"]{
  word-break:break-word;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-button{
  max-width:100%;
  white-space:normal;
  text-align:center;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-button-content-wrapper,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-button-text{
  min-width:0;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor [class*="-v18-actions"],
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .dflo-v18-package-actions{
  flex-wrap:wrap;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-shortcode,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .frm-fluent-form,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .fluentform{
  min-width:0;
  max-width:100%;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .frm-fluent-form .ff-el-form-control,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .fluentform .ff-el-form-control,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .frm-fluent-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .frm-fluent-form select,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .frm-fluent-form textarea{
  max-width:100%;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-accordion .elementor-tab-title,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-tabs .elementor-tab-title{
  overflow-wrap:anywhere;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-image-gallery .gallery,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-image-gallery,
body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .gallery{
  max-width:100%;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-text-editor table{
  max-width:100%;
}

body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor :is(input,select,textarea,button,a):focus-visible{
  outline:2px solid #0a7943;
  outline-offset:3px;
}

@media (max-width:1024px){
  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-google_maps iframe{
    min-height:300px;
  }
}

@media (max-width:767px){
  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .e-con,
  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .e-con-inner{
    min-width:0;
  }

  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor [class*="-v18-actions"] .elementor-widget-button,
  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .dflo-v18-package-actions .elementor-widget-button{
    max-width:100%;
  }

  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-google_maps iframe{
    min-height:260px;
  }

  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-accordion .elementor-tab-title{
    line-height:1.35;
  }

  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-tabs .elementor-tabs-wrapper{
    max-width:100%;
  }
}

@media (max-width:480px){
  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-button{
    line-height:1.25;
  }

  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-widget-google_maps iframe{
    min-height:240px;
  }
}

@media (max-width:340px){
  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor .elementor-button{
    padding-inline:14px;
  }
}

@media (prefers-reduced-motion:reduce){
  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor *,
  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor *::before,
  body:is(.dflo-architecture-native-v18,.dflo-architecture-native-v19) .elementor *::after{
    scroll-behavior:auto;
    animation-duration:.01ms;
    animation-iteration-count:1;
    transition-duration:.01ms;
  }
}
