:root {
  --form-block--gap--element: 20px;
}

.form-block__element {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin-block-end: var(--form-block--gap--element);
}
.form-block__element .form-block__label {
  order: -1;
}
.form-block__element .inline-error {
  flex: 0 0 100%;
}
.form-block__element .form-block__element {
  margin-bottom: 0;
}
.form-block__element.is-type-checkbox, .form-block__element.is-type-radio {
  align-items: flex-start;
  flex-direction: row;
}
.form-block__element.is-type-checkbox > input, .form-block__element.is-type-radio > input {
  flex: 0 0 auto;
}
.form-block__element.is-type-checkbox .form-block__label, .form-block__element.is-type-radio .form-block__label {
  flex: 0 0 calc(100% - (2em + 4px));
  order: 0;
}
.form-block__element.is-type-hidden, .form-block__element.is-type-system, .form-block__element:last-child {
  margin-bottom: 0;
}

.form-block__input-container {
  align-items: center;
  column-gap: 8px;
  display: flex;
}
.form-block__input-container > .form-block__source {
  max-width: 75px;
}
.is-sub-type-year .form-block__input-container > .form-block__source {
  max-width: 120px;
}

.form-block__input-group {
  border: 0;
  column-gap: 8px;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}
.form-block__input-group > legend {
  flex: 0 0 100%;
  padding: 0;
}
.form-block__input-group > .form-block__element:first-of-type .form-block__date-custom--separator.is-before {
  display: none;
}

.form-block__message-container.is-type-loading {
  align-items: center;
  display: flex;
}

.form-block__loading-indicator {
  animation: loading 1s linear infinite;
  display: inline-block;
  height: 1em;
  margin-right: 0.3em;
  position: relative;
  width: 1em;
}
.form-block__loading-indicator::before, .form-block__loading-indicator::after {
  border: 2px solid;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) currentColor;
  border-radius: 1em;
  content: "";
  display: block;
  inset: 0;
  position: absolute;
}
.form-block__loading-indicator::before {
  border-color: currentColor currentColor rgba(0, 0, 0, 0);
  opacity: 0.5;
}

.wp-block-form-block-fieldset {
  margin: 0 0 20px;
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
