.gc-radio {
  @apply appearance-none w-4 h-4 rounded-full border border-solid border-neutral-80 cursor-pointer bg-white relative shadow-inner;
}
.gc-radio:hover {
  @apply border-blue-primary;
}
.gc-radio:focus {
  @apply shadow-blue-focus-sm border-blue-primary;
}
.gc-radio:focus:before {
  @apply w-4 h-4 absolute border border-solid border-white rounded-full;
  content: '';
  top: -2px;
  left: -2px;
}

.gc-radio:checked {
  @apply border-2 border-blue-primary;
}
.gc-radio:checked:after {
  @apply w-2 h-2 rounded-full bg-blue-primary absolute;
  content: '';
  top: 2px;
  left: 2px;
}
.gc-radio:checked:hover {
  @apply border-blue-60;
}
.gc-radio:checked:hover:after {
  @apply bg-blue-60;
}
.gc-radio:checked:focus:before {
  top: -3px;
  left: -3px;
}

.gc-radio-error {
  @apply border-red-primary;
}
.gc-radio-error:checked {
  @apply border-red-primary;
}
.gc-radio-error:checked:after {
  @apply bg-red-primary;
}
.gc-radio-error:checked:hover {
  @apply border-red-60;
}
.gc-radio-error:checked:hover:after {
  @apply bg-red-60;
}

.gc-radio-error:disabled,
.gc-radio:disabled {
  @apply cursor-default bg-neutral-95;
}
.gc-radio-error:disabled:hover,
.gc-radio:disable:hover,
.gc-radio-error:disabled:focus,
.gc-radio:disabled:focus {
  @apply border-neutral-80 shadow-inner;
}
.gc-radio-error:disabled:hover:checked,
.gc-radio:disable:hover:checked,
.gc-radio-error:disabled:focus:checked,
.gc-radio:disabled:focus:checked {
  @apply border-neutral-80;
}
.gc-radio-error:disabled:hover:checked:after,
.gc-radio:disable:hover:checked:after,
.gc-radio-error:disabled:focus:checked:after,
.gc-radio:disabled:focus:checked:after {
  @apply bg-neutral-primary;
}
