.portal-action-row {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: flex-end;
  max-width: 100%;
  width: 100%;
}

.portal-action-row--start {
  justify-content: flex-start;
}

.portal-action-row .btn,
.portal-action-row a.btn,
.portal-action-row button.btn,
.portal-action-row input.btn {
  align-items: center;
  box-sizing: border-box;
  display: inline-flex;
  float: none !important;
  justify-content: center;
  margin: 0 !important;
  max-width: 100%;
  min-height: 44px;
  white-space: normal;
}

.portal-action-row .portal-action-control {
  box-sizing: border-box;
  max-width: 100%;
}

.portal-action-row.item-primary-actions {
  margin-left: 0;
  margin-right: 0;
}

.portal-form-field-grid {
  box-sizing: border-box;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 100%;
  width: 100%;
}

.portal-form-field-grid > .form-group {
  box-sizing: border-box;
  margin: 0;
  min-width: 0;
}

.portal-form-field-grid > .form-group > label {
  display: block;
  line-height: 1.35;
  margin-bottom: .5rem;
  min-height: 2.7em;
}

.portal-form-field-grid > .form-group > .form-control,
.portal-form-field-grid > .form-group > select {
  box-sizing: border-box;
  height: 38px;
  max-width: 100%;
  width: 100%;
}

.portal-form-field-grid--modifier {
  grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
}

@media (max-width: 1199.98px) {
  .portal-form-field-grid,
  .portal-form-field-grid--modifier {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.modifier-group-editor-actions {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content max-content;
  width: 100%;
}

.modifier-group-editor-actions > .btn {
  float: none !important;
  margin: 0 !important;
  max-width: 100%;
  min-width: 0;
  position: static;
}

.modifier-group-editor-actions > #deleteModifierGroup {
  justify-self: start;
}

@media (max-width: 575.98px) {
  .portal-form-field-grid,
  .portal-form-field-grid--modifier {
    gap: .85rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .portal-form-field-grid > .form-group > label {
    min-height: 0;
  }

  .portal-action-row {
    align-items: stretch;
    flex-direction: column;
    gap: .65rem;
  }

  .portal-action-row > .btn,
  .portal-action-row > a.btn,
  .portal-action-row > button.btn,
  .portal-action-row > input.btn,
  .portal-action-row > .portal-action-control {
    min-width: 0;
    width: 100% !important;
  }

  .portal-action-row > .portal-action-control > .btn {
    width: 100% !important;
  }

  .modifier-group-editor-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .modifier-group-editor-actions > .btn {
    align-self: stretch;
    justify-self: stretch;
    width: 100% !important;
  }
}
