/* Ultimate Member bridge. Only Dent-X forms and their body-level popovers.
 * Keep UM's DOM, column widths, hidden fields, validation and upload behaviour.
 * Important declarations are limited to properties UM/theme styles override. */
.dx-um-scope div.um { font-family: var(--dx-font-body) !important; color: var(--dx-text); font-size: 15px; max-width: 100% !important; width: 100% !important; margin: 0 !important; }
.dx-um-scope .um .um-form, .dx-um-scope .um .um-form form { margin: 0; max-width: 100%; }
.dx-um-scope .um .um-row { margin-bottom: var(--dx-um-row-gap,24px) !important; }
.dx-um-scope .um .um-field { padding: 0 !important; margin: 0 0 var(--dx-um-field-gap,20px) !important; min-width: 0; border: 0; background: none; }
.dx-um-scope .um .um-field-label { margin: 0 0 var(--dx-um-label-gap,8px) !important; padding: 0; }
.dx-um-scope .um .um-field-label label { font: 500 14px/1.5 var(--dx-font-body) !important; color: var(--dx-text) !important; text-transform: none; letter-spacing: 0; }
.dx-um-scope .um .um-field-label .um-tip { color: var(--dx-text-soft); }
.dx-um-scope .um .um-field-area { min-width: 0; }
.dx-um-scope .um .um-form input:is([type="text"],[type="password"],[type="email"],[type="tel"],[type="number"],[type="url"],[type="search"],[type="date"]),
.dx-um-scope .um .um-form textarea,
.dx-um-scope .um .um-form select:not(.select2-hidden-accessible) {
  width: 100% !important; max-width: 100% !important; min-height: var(--dx-um-field-h,48px); height: var(--dx-um-field-h,48px); padding: var(--dx-um-field-pad,12px 14px) !important;
  border: 1px solid var(--dx-border-strong) !important; border-radius: var(--dx-radius-sm) !important;
  background: var(--dx-surface) !important; color: var(--dx-text) !important;
  font: 400 var(--dx-um-field-font,16px)/1.4 var(--dx-font-body) !important; box-shadow: none !important;
  transition: border-color 140ms, box-shadow 140ms; box-sizing: border-box;
}
.dx-um-scope .um .um-form textarea { height: auto; min-height: 120px; resize: vertical; }
.dx-um-scope .um .um-form input:focus, .dx-um-scope .um .um-form textarea:focus, .dx-um-scope .um .um-form select:focus { border-color: var(--dx-brand) !important; box-shadow: var(--dx-shadow-focus) !important; outline: none !important; }
.dx-um-scope .um .um-form input::placeholder, .dx-um-scope .um .um-form textarea::placeholder { color: var(--dx-text-faint); opacity: 1; }
.dx-um-scope .um .um-form :is(input,textarea,select):disabled { background: var(--dx-surface-soft) !important; color: var(--dx-text-faint) !important; cursor: not-allowed; }
.dx-um-scope .um .um-form input[aria-invalid="true"], .dx-um-scope .um .um-form textarea[aria-invalid="true"], .dx-um-scope .um .um-form .um-error { border-color: var(--dx-danger) !important; }
.dx-um-scope .um .um-field-error { margin: 8px 0 0 !important; padding: 10px 12px !important; background: var(--dx-danger-soft) !important; color: var(--dx-danger) !important; border-radius: 8px !important; font: 400 13px/1.5 var(--dx-font-body) !important; }
.dx-um-scope .um .um-field-error::before { display: none; }
.dx-um-scope .um .um-field-error .um-field-arrow { display: none; }
.dx-um-scope .um .um-field-error :is(a,span) { color: inherit; }
.dx-um-scope .um :is(.um-notice,.um-postmessage) { padding: 16px !important; border: 1px solid var(--dx-border); background: var(--dx-surface-soft); border-radius: 10px; font: 400 14px/1.5 var(--dx-font-body); }
.dx-um-scope .um .um-notice.err { background: var(--dx-danger-soft); color: var(--dx-danger); }
.dx-um-scope .um .um-field-description { font: 400 13px/1.5 var(--dx-font-body) !important; color: var(--dx-text-soft) !important; margin-top: 8px; }
.dx-um-scope .um .um-field-value { font: 400 15px/1.5 var(--dx-font-body); color: var(--dx-text); overflow-wrap: anywhere; }
.dx-um-scope .um .um-row-heading { margin: 24px 0 16px; font: 600 18px/1.3 var(--dx-font-heading); color: var(--dx-text); }
.dx-um-scope .um :is(.um-field-checkbox,.um-field-radio) { min-height: 40px; padding-top: 8px; padding-bottom: 8px; }
.dx-um-scope .um :is(.um-field-checkbox-option,.um-field-radio-option) { font: 400 14px/1.5 var(--dx-font-body) !important; color: var(--dx-text) !important; margin-left: 32px !important; }
.dx-um-scope .um :is(.um-field-checkbox-state,.um-field-radio-state) { color: var(--dx-text-soft); }
.dx-um-scope .um :is(.um-field-checkbox.active,.um-field-radio.active) :is(.um-field-checkbox-state,.um-field-radio-state) { color: var(--dx-brand); }
.dx-um-scope .um .um-col-alt { display: flex; flex-wrap: wrap; align-items: center; gap: var(--dx-um-action-gap,12px); margin: var(--dx-um-action-gap,24px) 0 0 !important; padding: 0 !important; }
.dx-um-scope .um .um-col-alt > :is(.um-left,.um-right) { float: none !important; width: auto !important; flex: 1 1 180px; min-width: 0; margin: 0 !important; }
.dx-um-scope .um .um-col-alt > .um-clear { display: none; }
.dx-um-scope .um .um-col-alt > .um-field { flex-basis: 100%; margin-bottom: 0 !important; }
/* The login wrapper already provides its configured registration link. */
.dx-legacy-login .um-login .um-col-alt > .um-right { display: none; }
.dx-legacy-login .um-login .um-col-alt > .um-left { flex-basis: 100%; }
.dx-um-scope .um :is(input[type="submit"].um-button,a.um-button,button.um-button) {
  display: inline-flex; align-items: center; justify-content: center; min-height: var(--dx-um-button-h,40px); height: auto; width: 100%;
  margin: 0 !important; padding: var(--dx-um-button-pad,9px 14px) !important; border-radius: var(--dx-radius-sm) !important; border: 1px solid var(--dx-brand) !important;
  background: var(--dx-brand) !important; color: #fff !important; box-shadow: none !important;
  font: 500 14px/1.4 var(--dx-font-body) !important; letter-spacing: 0; text-transform: none; text-decoration: none; cursor: pointer;
}
.dx-um-scope .um :is(input[type="submit"].um-button,a.um-button,button.um-button):hover { background: var(--dx-brand-hover) !important; border-color: var(--dx-brand-hover) !important; color: #fff !important; }
.dx-um-scope .um :is(a.um-button,input.um-button,button.um-button).um-alt { background: var(--dx-surface) !important; color: var(--dx-text) !important; border-color: var(--dx-border-strong) !important; }
.dx-um-scope .um .um-button:is([disabled],.disabled) { opacity: .5; cursor: not-allowed; }
.dx-um-scope .um :is(.um-link-alt,.um-account-link) { color: var(--dx-brand) !important; font: 500 14px/1.5 var(--dx-font-body) !important; text-decoration: underline; text-underline-offset: 3px; }
.dx-um-scope .um .um-col-alt-b { margin-top: 16px; }
.dx-um-scope .um .um-field-file :is(a.um-button,a.um-button.um-alt) { width: auto; }
/* Select2 keeps its own hidden native select and keyboard interactions. */
.dx-um-scope .um .um-form .select2-container { max-width: 100%; width: 100% !important; font-family: var(--dx-font-body); }
.dx-um-scope .um .um-form .select2-container .select2-selection { min-height: var(--dx-um-field-h,48px) !important; height: auto !important; padding: 0 !important; border: 1px solid var(--dx-border-strong) !important; border-radius: var(--dx-radius-sm) !important; background: var(--dx-surface) !important; color: var(--dx-text); }
.dx-um-scope .um .um-form .select2-selection--single .select2-selection__rendered { padding: calc((var(--dx-um-field-h,48px) - 26px) / 2) 60px calc((var(--dx-um-field-h,48px) - 26px) / 2) 12px !important; font: 400 var(--dx-um-field-font,16px)/24px var(--dx-font-body) !important; color: var(--dx-text) !important; }
.dx-um-scope .um .um-form .select2-container .select2-selection .select2-selection__arrow { display: grid !important; place-items: center; width: 24px !important; height: calc(var(--dx-um-field-h,48px) - 2px) !important; right: 6px; top: 0; font-size: 0 !important; color: var(--dx-text-soft); }
.dx-um-scope .um .um-form .select2-container .select2-selection .select2-selection__arrow::before { content: "" !important; display: block; width: 6px; min-width: 0; height: 6px; font-size: 0 !important; color: inherit; margin: -3px 0 0; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.dx-um-scope .um .um-form .select2-container--open .select2-selection .select2-selection__arrow::before { transform: rotate(225deg); margin-top: 3px; }
.dx-um-scope .um .um-form .select2-selection__arrow b { display: none; }
.dx-um-scope .um .um-form .select2-selection--single .select2-selection__clear { position: absolute; right: 32px; top: 50%; transform: translateY(-50%); display: block; width: 24px; height: 24px; margin: 0; padding: 0; border: 0; background: none; font-size: 0 !important; color: var(--dx-text-soft); }
.dx-um-scope .um .um-form .select2-selection__clear::before, .dx-um-scope .um .um-form .select2-selection__clear::after { content: ""; position: absolute; left: 6px; top: 11px; width: 12px; height: 1.5px; border-radius: 1px; background: currentColor; transform: rotate(45deg); }
.dx-um-scope .um .um-form .select2-selection__clear::after { transform: rotate(-45deg); }
.dx-um-scope .um .um-form .select2-selection__clear:hover { color: var(--dx-brand); }
.dx-um-scope .um .select2-selection:focus-visible { outline: 2px solid var(--dx-brand) !important; outline-offset: 2px; }
.dx-um-scope .um .um-form .select2-selection--multiple .select2-selection__rendered { padding: 4px 10px; }
.dx-um-scope .um .um-form .select2-selection__choice { background: var(--dx-brand-soft) !important; color: var(--dx-brand) !important; border: 0 !important; border-radius: 6px !important; padding: 4px 8px !important; font-size: 14px; }
.dx-um-scope .um .um-form .select2-container--focus .select2-selection, .dx-um-scope .um .um-form .select2-container--open .select2-selection { border-color: var(--dx-brand) !important; box-shadow: var(--dx-shadow-focus); }
body.dentx-um-page .select2-dropdown { font: 400 15px/1.5 var(--dx-font-body); color: var(--dx-text); border: 1px solid var(--dx-border-strong); border-radius: 10px; box-shadow: var(--dx-shadow-md); overflow: hidden; }
body.dentx-um-page .select2-results__option { padding: 10px 14px; }
body.dentx-um-page .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--dx-brand-soft) !important; color: var(--dx-brand) !important; }
body.dentx-um-page .select2-search__field { min-height: 40px; border: 1px solid var(--dx-border-strong) !important; border-radius: 6px; font: inherit; }
/* UM appends upload dialogs to body, outside the shortcode wrapper. */
.dx-um-scope .um .um-field-file .um-field-area { text-align: left !important; }
.dx-um-scope .um .um-field-file a.um-button { width: auto !important; background: var(--dx-surface) !important; color: var(--dx-brand) !important; border-color: var(--dx-border-strong) !important; }
.dx-um-scope .um .um-field-file a.um-button:hover { background: var(--dx-brand-soft) !important; }
@media (max-width: 600px) {
  .dx-um-scope .um .um-row > :is(.um-col-121,.um-col-122,.um-col-131,.um-col-132,.um-col-133) { width: 100% !important; float: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  .dx-um-scope .um .um-col-alt > :is(.um-left,.um-right) { flex-basis: 100%; }
  .dx-um-scope .um .um-button { min-height: 44px !important; }
}
