@use "./../../variables" as *;

.form--field-group {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;

  & .form__control {
    display: flex;
    flex-direction: row;

    &:not(:last-child) {
      margin-right: -1px;
    }

    &:not(:first-child):not(:last-child) {
      & * {
        --input-border-radius: 0;
        --input-small-border-radius: 0;
        --input-large-border-radius: 0;
        --button-border-radius: 0;
        --button-small-border-radius: 0;
        --button-large-border-radius: 0;
      }
    }

    &:first-child:not(:last-child) {
      & * {
        --input-border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium);
        --input-small-border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
        --input-large-border-radius: var(--border-radius-large) 0 0 var(--border-radius-large);
        --button-border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium);
        --button-small-border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
        --button-large-border-radius: var(--border-radius-large) 0 0 var(--border-radius-large);

        &.button--rounded,
        &.input--rounded {
          border-radius: var(--border-radius-round) 0 0 var(--border-radius-round);
        }
      }
    }

    &:last-child:not(:first-child) {
      & * {
        --input-border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;
        --input-small-border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
        --input-large-border-radius: 0 var(--border-radius-large) var(--border-radius-large) 0;
        --button-border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;
        --button-small-border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
        --button-large-border-radius: 0 var(--border-radius-large) var(--border-radius-large) 0;

        &.button--rounded,
        &.input--rounded {
          border-radius: 0 var(--border-radius-round) var(--border-radius-round) 0;
        }
      }
    }
  }
}
