/* Components :: RadioButton :: Styles */

@import '../../styles/settings/index';
@import '../../styles/tools/index';

.c-radiobuttons {
  display: flex;
  margin-bottom: $fabric-global-spacing-unit;

  &:last-of-type {
    margin-bottom: 0;
  }
}

.c-radio-button {
  @include fabric-size(1px);

  border: 0;
  clip: rect(0, 0, 0, 0);
  margin: -1px;
  overflow: hidden;
  position: absolute;
  padding: 0;
  visibility: visible;
  visibility: unset;
  white-space: nowrap;

  &:disabled + label {
    cursor: not-allowed;
    opacity: 0.3;
  }

  &__label {
    @include fabric-font-size(16px);
    @include flex($align-items: center);

    cursor: pointer;
    font-family: 'FS-Emeric-Core', sans-serif;
    margin-right: $fabric-global-spacing-unit-small;
  }

  &__appearance {
    @include fabric-size($fabric-global-spacing-unit);

    background-color: fabric-color('white');
    border-radius: 50%;
    border: 2px solid fabric-color('primary');
    flex-shrink: 0;
    margin-right: $fabric-global-spacing-unit-small;
  }

  &:checked + .c-radio-button__label .c-radio-button__appearance {
    @include flex($align-items: center, $justify-content: center);

    border-color: fabric-color('primary');

    &:before {
      @include fabric-size($fabric-global-spacing-unit-small);

      border-radius: 50%;
      background-color: fabric-color('primary');
      content: '';
      display: inline-block;
      position: relative;
    }
  }

  &:checked + .c-radio-button__appearance {
    @include fabric-size(1.125rem);

    background-color: #fff;
    border-radius: 50%;
    border: 2px solid #5a6872;
    flex-shrink: 0;
    margin-right: 0.5rem;
  }
}

.c-radio-button-wrapper {
  padding: $fabric-global-spacing-unit-tiny 0;
}

.c-radio-button-group {
  margin-top: 0.5rem;

  > * {
    margin-bottom: 0.5rem;
  }

  &--inline {
    @include flex($align-items: center, $wrap: wrap);

    > * {
      margin-right: 0.5rem;
    }

    .c-form__item:last-of-type {
      margin-bottom: 0.5rem;
    }
  }
}
