/* Dillon mobile content actions: inner-column width only, never viewport width.
   Native documents, padding, gaps, alignment, treatments and interactions own
   everything else. Two-ID specificity beats captured #_ / post rules without
   changing their frozen sources. Every declaration is gated at the kit's 760px.
   The exclusions also protect standalone saved header/footer/editor sources. */
@media(max-width:760px) {
  /* Expand constrained action groups before expanding their native widgets.
     Captured hero/final-CTA aliases survive reuse with different native IDs. */
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) :is(
    .dillon-interior-actions,.dillon-form-actions,
    .elementor-element-864c1c8,.elementor-element-50fed46,
    #main-navigation.dillon-menu-open > .dillon-mobile-actions,
    .dillon-zip-form,
    .elementor-widget-form .elementor-field-type-submit
  ) {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  /* No broad container reset: only groups made exclusively of real native CTA
     widgets qualify. Card/photo/copy parents and navigation never qualify. */
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) .e-con:where(
    :not(header *,footer *,nav *,.elementor-element-17c16a9 *,.elementor-element-6817eb0 *,
      .dillon-page-submenu *,.dillon-resources-contents *,.dillon-resources-categories *,
      .dillon-resources-page-controls *,.dillon-contact-conversion-facts *)
  ):has(> .elementor-widget-button):not(:has(> :not(.elementor-widget-button))):not(:has(
    > :is(.dillon-interior-text-action,.dillon-page-link,.dillon-footer-link,
      .dillon-header-route,.dillon-resources-back,.dillon-resources-card-link)
  )) {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  /* Auto-width widgets and both legacy/current Elementor wrapper shapes.
     A shc-role-button with copy is a captured text CTA; image-only arrows are
     not. Never stretch the label/icon children of those captured containers.
     In-card Learn More cues retain their component-owned compact width. */
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) :is(
    .elementor-widget-button,
    .shc-role-button:not(.elementor-widget-image):has(.elementor-widget-text-editor)
  ):where(:not(
    header *,footer *,nav *,.elementor-element-17c16a9 *,.elementor-element-6817eb0 *,
    .dillon-header-route,.dillon-header-phone,.dillon-header-login,.dillon-header-estimate,
    .dillon-footer-link,.dillon-page-link,.dillon-interior-text-action,
    .dillon-page-submenu *,.dillon-resources-contents *,.dillon-resources-categories *,
    .dillon-resources-page-controls *,.dillon-resources-card-link,.dillon-resources-back,
    .dillon-contact-conversion-facts *,.dillon-home-card-action
  )),
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) .elementor-widget-button:where(:not(
    header *,footer *,nav *,.elementor-element-17c16a9 *,.elementor-element-6817eb0 *,
    .dillon-header-route,.dillon-header-phone,.dillon-header-login,.dillon-header-estimate,
    .dillon-footer-link,.dillon-page-link,.dillon-interior-text-action,
    .dillon-page-submenu *,.dillon-resources-contents *,.dillon-resources-categories *,
    .dillon-resources-page-controls *,.dillon-resources-card-link,.dillon-resources-back,
    .dillon-contact-conversion-facts *,.dillon-home-card-action
  )) :is(.elementor-widget-container,.elementor-button-wrapper,.elementor-button),
  /* Menu actions opt in only in the open runtime slot. The number-only phone
     link and the estimate's compact closed-header slot remain untouched. */
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) #main-navigation.dillon-menu-open
    > .dillon-mobile-actions :is(.dillon-header-login,.dillon-header-estimate),
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) #main-navigation.dillon-menu-open
    > .dillon-mobile-actions :is(.dillon-header-login,.dillon-header-estimate)
    :is(.elementor-widget-container,.elementor-button-wrapper,.elementor-button),
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) :is(
    .sher-widget-dillon-scroll-process .process-step-action,
    .dillon-dialog-understood,.dillon-interior-lead .dillon-form-actions button,
    .dillon-zip-form button,
    .elementor-widget-form button[type="submit"],
    .elementor-widget-form input[type="submit"]
  ) {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    align-self:stretch!important;
    flex-basis:auto!important;
  }
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) .dillon-form-actions > .dillon-form-agreement {
    flex-basis:auto!important;
  }
  /* Captured auto-width text widgets otherwise retain native flex-shrink:0
     beside an icon. Allow only the label to fit/wrap inside its full-width CTA. */
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) .shc-role-button:where(:not(
    header *,footer *,nav *,.elementor-element-17c16a9 *,.elementor-element-6817eb0 *,
    .elementor-widget-image
  )) .elementor-widget-text-editor {
    max-width:100%!important;
    flex-shrink:1!important;
  }
  /* Let labels wrap rather than clip. These selectors require an already
     opted-in action, and do not change text/icon justification or typography. */
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) .elementor-widget-button:where(:not(
    header *,footer *,nav *,.elementor-element-17c16a9 *,.elementor-element-6817eb0 *,
    .dillon-header-route,.dillon-header-phone,.dillon-header-login,.dillon-header-estimate,
    .dillon-footer-link,.dillon-page-link,.dillon-interior-text-action,
    .dillon-page-submenu *,.dillon-resources-contents *,.dillon-resources-categories *,
    .dillon-resources-page-controls *,.dillon-resources-card-link,.dillon-resources-back,
    .dillon-contact-conversion-facts *
  )) :is(.elementor-button,.elementor-button-text),
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) .shc-role-button:where(:not(
    header *,footer *,nav *,.elementor-element-17c16a9 *,.elementor-element-6817eb0 *,
    .elementor-widget-image
  )) .elementor-widget-text-editor,
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) #main-navigation.dillon-menu-open
    > .dillon-mobile-actions :is(.dillon-header-login,.dillon-header-estimate) .elementor-button,
  :is(body,#dillon-mobile-buttons#dillon-mobile-buttons) :is(
    .sher-widget-dillon-scroll-process .process-step-action,
    .dillon-dialog-understood,.dillon-interior-lead .dillon-form-actions button,
    .dillon-zip-form button,.elementor-widget-form button[type="submit"]
  ) {
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}
