// В этом файле должны быть стили для БЭМ-блока field-checkbox, его элементов,
// модификаторов, псевдоселекторов, псевдоэлементов, @media-условий...
// Очередность: http://nicothin.github.io/idiomatic-pre-CSS/#priority

.field-checkbox {
  $block-name: &;

  display: block;
  margin-bottom: $typo-margin-vertical;

  &__title {
    @include field-name;
  }

  &__input-wrap {
    & + & {
      margin-top: $typo-margin-vertical;
    }

    &--error {
      #{$block-name}__name-text,
      #{$block-name}__help-text {
        color: $color-danger;
      }

      #{$block-name}__name-text {
        &::before {
          border-color: $color-danger;
        }
      }
    }

    &--type-1 {
      #{$block-name}__name-text {
        &:before {
          top: 0;
        }

        &:after {
          top: 6px;
        }
      }
    }

    &--type-2 {
      #{$block-name}__name-text {
        padding-left: 0;
        width: 35px;
        height: 18px;
        background-color: #a7a8c7;
        border-radius: 9px;
        transition: background-color $transition-time;

        &::before {
          top: 2px;
          left: 0;
          transform: translateX(2px);
          border: none;
          width: 14px;
          height: 14px;
          border-radius: 50%;
          transition: transform $transition-time;
        }

        &::after {
          content: none;
        }
      }

      #{$block-name}__input {
        &:checked ~ #{$block-name}__name-text {
          & {
            background-color: $color-danger;
          }

          &::before {
            transform: translateX(19px);
          }
        }
      }
    }
  }

  &__name {
    // display: inline-block;

    // font-weight: 400;
    cursor: pointer;
    user-select: none;
    // @include field-focus;
    // border-radius: 4px;
    // transition: outline-color $transition-time;

    // &:focus {
    //   outline-color: $color-cyan;
    // }
  }

  &__name-text {
    position: relative;
    display: inline-block;
    padding-left: 28px;
    font: 400 11px/130% $font-family;
    letter-spacing: 0.05em;

    @media (min-width: $screen-xl) {
      font-size: 13px;
    }

    br {
      @media (max-width: ($screen-lg - 1)) {
        display: none;
      }
    }

    // свой чекбокс с картинкой

    // &:before {
    //   content: '';
    //   position: absolute;
    //   top: 5px;
    //   left: 0;
    //   width: 14px;
    //   height: 14px;
    //   background-image: svg-load('../blocks/field-checkbox/bg-img/checkbox.svg');
    //   background-size: 100%;
    // }
    // @at-root input:checked ~ &:before {
    //   background-image: svg-load('../blocks/field-checkbox/bg-img/checkbox--checked.svg');
    // }

    // / свой чекбокс с картинкой

    // свой чекбокс без картинок

    @at-root input:disabled ~ & {
      cursor: not-allowed;
    }

    &:before {
      content: "";
      box-sizing: border-box;
      position: absolute;
      top: -3px;
      left: 0;
      width: 20px;
      height: 20px;
      border: 2px solid $color-d-blue;
      border-radius: 4px;
      background-color: #f7f8fb;

      @media (min-width: $screen-xl) {
        top: -2px;
      }
    }

    @at-root input:focus ~ &:before {
      @include field-focus;
    }

    @at-root input:disabled ~ &:before {
      border-color: $gray-light;
      background: $gray-lighter;
    }

    &:after {
      content: "";
      position: absolute;
      top: 3px;
      left: 5px;
      width: 8px;
      height: 4px;
      opacity: 0;
      border-left: 2px solid $color-d-blue;
      border-bottom: 2px solid $color-d-blue;
      transform: rotate(-45deg);
      transition: opacity $transition-time;

      @media (min-width: $screen-xl) {
        top: 4px;
      }

      @at-root input:checked ~ & {
        opacity: 1;
      }

      @at-root input:checked:disabled ~ & {
        border-color: $gray-light;
      }
    }

    // / свой чекбокс без картинок
  }

  &__input {
    position: absolute;
    top: 0.7em;
    left: 0;
    margin: 0;
    padding: 0;
    transform: translateY(-50%);

    &:focus,
    &:active {
      @include field-focus;
    }

    // сокрытие инпута в случае использования своего чекбокса
    opacity: 0;
  }

  &__help-text-wrap {
    padding-left: 1.5em;
  }

  &__help-text {
    @include field-help-text;
  }
}
