/*
 * Backpack - Skyscanner's Design System
 *
 * Copyright 2016-2021 Skyscanner Ltd
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

@import '~bpk-mixins/index';

$bpk-spacing-v2: true;

$bpk-radio-circle-size: $bpk-one-pixel-rem * 8;
$bpk-radio-size: bpk-spacing-lg() - ($bpk-one-pixel-rem * 4);

.bpk-radio {
  @include bpk-radio;

  &--white {
    @include bpk-radio--white;
  }

  &--disabled {
    @include bpk-radio--disabled;
  }

  &--invalid {
    @include bpk-radio--invalid;
  }

  &__input {
    @include bpk-radio__input;

    &:checked {
      + .bpk-radio__circle {
        display: block;
      }

      &:disabled {
        + .bpk-radio__circle {
          display: block;
          background: $bpk-color-sky-gray-tint-04;
        }
      }
    }
  }

  &__circle {
    position: absolute;
    top: bpk-spacing-md() - ($bpk-one-pixel-rem * 2);
    left: bpk-spacing-md() - ($bpk-one-pixel-rem * 2);
    display: none;
    width: $bpk-radio-circle-size;
    height: $bpk-radio-circle-size;
    border-radius: 50%;

    @include bpk-themeable-property(
      background,
      --bpk-radio-checked-color,
      $bpk-radio-checked-circle-color
    );

    @include bpk-rtl {
      right: bpk-spacing-md() - ($bpk-one-pixel-rem * 2);
      left: auto;
    }
  }
}
