.px-radio-canvas {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  pointer-events: none;
}
.px-radio {
  --radio-size: var(--px-medium-compat-size);
  --text-color: var(--px-neutral-10);
  background-color: transparent;
  color: var(--text-color);
  display: inline-flex;
  align-items: center;
  position: relative;
  transition: 0.25s;
  z-index: 0;
  cursor: pointer;
}
.px-radio.px-radio {
  font-size: 14px;
}
.px-radio__large {
  --radio-size: var(--px-large-compat-size);
  font-size: 15px;
}
.px-radio__large .px-radio-canvas-wrapper {
  margin-right: 12px;
}
.px-radio__small {
  --radio-size: var(--px-small-compat-size);
  font-size: 12px;
}
.px-radio__small .px-radio-canvas-wrapper {
  margin-right: 4px;
}
.px-radio__input {
  height: 0;
  width: 0;
  margin: 0;
  position: absolute;
}
.px-radio__readonly {
  cursor: default;
}
.px-radio__disabled {
  cursor: not-allowed;
}
.px-radio-canvas-wrapper {
  box-sizing: border-box;
  border-color: transparent;
  border-width: var(--px-bit);
  border-style: solid;
  background-color: transparent;
  width: var(--radio-size);
  height: var(--radio-size);
  position: relative;
  display: flex;
  align-items: center;
  margin-right: 8px;
  transition: 0.25s;
}
.px-radio__checked {
  --text-color: var(--px-primary-6);
}
.px-radio__disabled {
  cursor: not-allowed;
  --text-color: var(--px-neutral-8);
}
.px-radio__disabled.px-radio__checked {
  --text-color: var(--px-primary-2);
}
