/* Shared Bootstrap control metrics. Minimum heights allow translated labels to wrap. */
:root body :is(.btn, .form-control, .form-select, .input-group-text, .ep-login-provider) {
  --ep-control-height: var(--ep-base-height, 2.75rem);
  --ep-control-font: var(--ep-base-font, 1rem);
  --ep-control-line: var(--ep-base-line, 1.5rem);
  box-sizing: border-box;
  min-height: var(--ep-control-height);
  font-size: var(--ep-control-font);
  line-height: var(--ep-control-line);
  padding-top: calc((var(--ep-control-height) - var(--ep-control-line) - 2px) / 2);
  padding-bottom: calc((var(--ep-control-height) - var(--ep-control-line) - 2px) / 2);
}
.identity-workspace {
  --ep-base-font: .875rem;
  --ep-base-line: 1.3125rem;
}
.ep-login-card, .enterprise-login-card {
  --ep-base-height: 3.125rem;
}
:root body :is(.btn-sm, .form-control-sm, .form-select-sm),
:root body :is(.input-group-sm, .btn-group-sm) > :is(.btn, .form-control, .form-select, .input-group-text) {
  --ep-control-height: 2.25rem;
  --ep-control-font: .875rem;
  --ep-control-line: 1.3125rem;
}
:root body :is(.btn-lg, .form-control-lg, .form-select-lg),
:root body :is(.input-group-lg, .btn-group-lg) > :is(.btn, .form-control, .form-select, .input-group-text) {
  --ep-control-height: 3.125rem;
  --ep-control-font: 1.125rem;
  --ep-control-line: 1.6875rem;
}
/* Provider pairs stretch together if a translation occupies more than one line. */
.ep-login-alt .row > [class*="col-"] { display: flex; }
.ep-login-alt .row > [class*="col-"] > .ep-login-provider {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
}
/* Multi-line fields and native special controls keep their intended behavior. */
:root body textarea.form-control { min-height: 6.875rem; }
:root body .form-select:is([multiple], [size]:not([size="1"])) { height: auto; }
:root body .form-control::file-selector-button {
  padding-top: calc((var(--ep-control-height) - var(--ep-control-line) - 2px) / 2);
  padding-bottom: calc((var(--ep-control-height) - var(--ep-control-line) - 2px) / 2);
  margin-top: calc((var(--ep-control-height) - var(--ep-control-line) - 2px) / -2);
  margin-bottom: calc((var(--ep-control-height) - var(--ep-control-line) - 2px) / -2);
}
/* Preserve Bootstrap floating-label space if used by a future form. */
:root body .form-floating > :is(.form-control, .form-select) {
  min-height: 3.625rem;
  padding-top: 1.625rem;
  padding-bottom: .625rem;
}
