.p_zl {
  position: relative;
}

.p_wy {
  margin: 0;
  padding: 0;
  opacity: 0;
  appearance: none;

  &:focus,
  &:active,
  &:checked {
    + .p_a8 {
      background: color(indigo);
    }
  }

  &:checked {
    ~ .p_vv {
      transform: translate(-50%, -50%) scale(1);
    }
  }

  &:focus,
  &:active {
    + .p_a8 {
      @include control-backdrop(focused);
    }
  }

  &:disabled {
    + .p_a8 {
      @include control-backdrop(disabled);
    }

    ~ .p_vv {
      background-color: color(sky, dark);
    }
  }
}

.p_a8 {
  @include control-backdrop;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 50%;

  &::after {
    border-radius: 50%;
  }
}

.p_vv {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transform-origin: 50% 50%;
  height: 50%;
  width: 50%;
  background: color(indigo);
  border-radius: 50%;
  transition: control-icon-transition();
}
