/* ==========================================================================
 * Fieldset
 * ========================================================================== */

.mds-c-fieldset {
  --mds-v-fieldset__color--primary: var(--mds-t-text-color--primary);
  --mds-v-fieldset__color--muted: var(--mds-t-text-color--tertiary);
  --mds-v-fieldset__color--danger: var(--mds-t-text-color--danger);

  min-width: 0;

  &:not(:last-child) {
    margin-bottom: var(--mds-d-spacing--xl);
  }

  &__label {
    align-items: center;
    display: flex;
    grid-column: 1 / -1;
    margin-bottom: var(--mds-d-spacing--xs);
  }

  &__label-buttons {
    margin-left: var(--mds-d-spacing--med);
  }

  &__legend {
    @mixin mds-m-label--size-med;

    color: var(--mds-v-fieldset__color--primary);
    max-width: 100%;

    .mds-has-error & {
      color: var(--mds-v-fieldset__color--danger);
    }

    &.mds-is-required {
      &::after {
        content: ' *';
      }
    }
  }

  &__controls {
    border: 1px solid var(--mds-t-border-color--primary);
    border-radius: var(--mds-d-border-radius--default);
    overflow: hidden;
    padding: var(--mds-d-spacing--lg);

    .mds-has-error & {
      border-color: var(--mds-t-border-color--danger);
    }

    .mds-has-changes & {
      background-color: var(--mds-t-background-color--changes-muted);
      border-color: var(--mds-t-border-color--changes)
    }
  }

  &__help-text {
    @mixin mds-m-text--size-sm;

    color: var(--mds-v-fieldset__color--muted);
    display: block;
    grid-column: 1 / -1;
    margin-top: var(--mds-d-spacing--xs);
    overflow-wrap: break-word;
    position: relative;

    .mds-has-error & {
      color: var(--mds-v-fieldset__color--danger);
    }
  }
}

