/* Center each visible label-and-icon group with equal outside space.
   A shared gap keeps arrows readable without an empty leading icon track.
   Icon-only controls and ordinary links retain their native layout. */
:is(body,#dillon-button-title-layout#dillon-button-title-layout#dillon-button-title-layout) :where(
  .dillon-button-control:has(> :is(.elementor-widget-text-editor,.elementor-widget-heading)),
  .dillon-button-control > .e-con-inner:has(> :is(.elementor-widget-text-editor,.elementor-widget-heading))
):where(:not(.dillon-resources-contents *,.dillon-contact-conversion-facts .dillon-native-action *)) {
  /* Elementor containers use --display; leave their responsive display:none
     rules authoritative rather than revealing hidden mobile-only controls. */
  --display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
}
:is(body,#dillon-button-title-layout#dillon-button-title-layout#dillon-button-title-layout) :is(
  .dillon-button-control,
  .dillon-button-control > .e-con-inner
) > :is(.elementor-widget-text-editor,.elementor-widget-heading):where(:not(.dillon-resources-contents *,.dillon-contact-conversion-facts .dillon-native-action *)) {
  width: auto !important;
  flex: 0 1 auto !important;
}
:is(body,#dillon-button-title-layout#dillon-button-title-layout#dillon-button-title-layout) :is(
  .dillon-button-control:has(> :is(.elementor-widget-text-editor,.elementor-widget-heading)),
  .dillon-button-control > .e-con-inner:has(> :is(.elementor-widget-text-editor,.elementor-widget-heading))
) > :is(.elementor-widget-image,.elementor-widget-icon):where(:not(.dillon-resources-contents *,.dillon-contact-conversion-facts .dillon-native-action *)) {
  flex: 0 0 auto !important;
  margin: 0 !important;
}
:is(body,#dillon-button-title-layout#dillon-button-title-layout#dillon-button-title-layout)
  .dillon-button-shell .elementor-button-content-wrapper:where(:not(.dillon-resources-contents *,.dillon-contact-conversion-facts .dillon-native-action *)) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: 100% !important;
}
:is(body,#dillon-button-title-layout#dillon-button-title-layout#dillon-button-title-layout)
  .dillon-button-shell .elementor-button-text:where(:not(.dillon-resources-contents *,.dillon-contact-conversion-facts .dillon-native-action *)) {
  display: block !important;
  flex: 0 1 auto !important;
  width: auto !important;
}
:is(body,#dillon-button-title-layout#dillon-button-title-layout#dillon-button-title-layout)
  .dillon-button-shell .elementor-button-icon:where(:not(.dillon-resources-contents *,.dillon-contact-conversion-facts .dillon-native-action *)) {
  flex: 0 0 auto !important;
  margin: 0 !important;
}
/* Captured native buttons can keep the arrow inside their text span.
   Use the same group spacing, without a duplicate label or phantom icon. */
:is(body,#dillon-button-title-layout#dillon-button-title-layout#dillon-button-title-layout)
  .dillon-button-shell .elementor-button-text:has(> span > :is(img,svg)):where(:not(.dillon-resources-contents *,.dillon-contact-conversion-facts .dillon-native-action *)) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}
:is(body,#dillon-button-title-layout#dillon-button-title-layout#dillon-button-title-layout)
  .dillon-button-shell .elementor-button-text > span:has(> :is(img,svg)):where(:not(.dillon-resources-contents *,.dillon-contact-conversion-facts .dillon-native-action *)) {
  flex: 0 0 auto !important;
  margin: 0 !important;
}
