$label-gap-tiny: var(--wds-field-set-label-gap-tiny, var(--wds-space-150));
$label-gap-small: var(--wds-field-set-label-gap-small, var(--wds-space-200));
$gap-small: var(--wds-field-set-gap-small, var(--wds-space-200));
$gap-medium: var(--wds-field-set-gap-medium, var(--wds-space-300));
$gap-large: var(--wds-field-set-gap-large, var(--wds-space-400));
$label-font-size-tiny: var(
  --wds-field-set-label-font-size-tiny,
  var(--wds-font-size-body-extra-tiny)
);
$label-line-height-tiny: var(
  --wds-field-set-label-font-line-height-tiny,
  var(--wds-font-line-height-body-extra-tiny)
);
$label-font-size-small: var(
  --wds-field-set-label-font-size-small,
  var(--wds-font-size-body-tiny)
);
$label-line-height-small: var(
  --wds-field-set-label-font-line-height-small,
  var(--wds-font-line-height-body-tiny)
);
$label-font-weight: var(
  --wds-field-set-label-font-weight,
  var(--wds-font-weight-medium)
);

.field-set {
  &--label-size-tiny#{&}--label-placement-top &__children,
  &--label-size-tiny#{&}--has-only-suffix &__children {
    padding-top: $label-gap-tiny;
  }

  &--label-size-small#{&}--label-placement-top &__children,
  &--label-size-small#{&}--has-only-suffix &__children {
    padding-top: $label-gap-small;
  }

  &__children {
    gap: $gap-small;
  }

  &__children--gap-small {
    gap: $gap-small;
  }

  &__children--gap-medium {
    gap: $gap-medium;
  }

  &__children--gap-large {
    gap: $gap-large;
  }

  &#{&}#{&} #{&}__label--label-size-tiny {
    font-size: $label-font-size-tiny;
    line-height: $label-line-height-tiny;
  }

  &#{&}#{&} #{&}__label--label-size-small {
    font-size: $label-font-size-small;
    line-height: $label-line-height-small;
    font-weight: $label-font-weight;
  }

  &#{&}#{&} #{&}__char-count--label-size-tiny {
    font-size: $label-font-size-tiny;
    line-height: $label-line-height-tiny;
  }

  &#{&}#{&} #{&}__char-count--label-size-small {
    font-size: $label-font-size-small;
    line-height: $label-line-height-small;
  }

  &__label-indicators--label-size-tiny#{&}__label-indicators--label-placement-right,
  &__label-indicators--label-size-tiny#{&}__label-indicators--label-placement-none {
    margin-left: $label-gap-tiny;
  }

  &__label-indicators--label-size-small#{&}__label-indicators--label-placement-right,
  &__label-indicators--label-size-small#{&}__label-indicators--label-placement-none {
    margin-left: $label-gap-small;
  }

  &__label-indicators--label-size-tiny#{&}__label-indicators--label-placement-left {
    margin-right: $label-gap-tiny;
  }

  &__label-indicators--label-size-small#{&}__label-indicators--label-placement-left {
    margin-right: $label-gap-small;
  }

  &__status-message--label-size-tiny#{&}__status-message--label-placement-left {
    padding-left: $label-gap-tiny;
  }

  &__status-message--label-size-small#{&}__status-message--label-placement-left {
    padding-left: $label-gap-small;
  }
}
