.sf-radio-label {
  color: rgba(var(--sf-color-on-surface));
  display: flex;
  vertical-align: middle;
  align-items: center;
  white-space: normal;
  position: relative;
  line-height: normal;
  user-select: none;
  cursor: pointer;
}
.sf-radio-label::before, .sf-radio-label::after {
  border: 1px solid;
  border-radius: var(--sf-radius-full);
  box-sizing: border-box;
  content: "";
  position: absolute;
}
.sf-radio-label::before {
  border-color: rgba(var(--sf-color-primary));
}
.sf-radio:checked + label::after {
  background-color: rgba(var(--sf-color-primary));
  color: rgba(var(--sf-color-primary));
  transform: scale(1);
}
.sf-radio-label:focus .sf-ripple-container, .sf-radio-label.sf-focus .sf-ripple-container, .sf-radio-label:hover .sf-ripple-container {
  background: rgba(var(--sf-color-primary), 0.08);
}
.sf-radio {
  appearance: none;
  height: 1px;
  opacity: 0;
  width: 1px;
}
.sf-radio + label::before {
  background-color: transparent;
  border-color: rgba(var(--sf-color-on-surface-variant));
}
.sf-radio + label::after {
  transform: scale(0);
}
.sf-radio + label .sf-ripple-container {
  border-radius: var(--sf-radius-full);
  position: absolute;
  z-index: 1;
}
.sf-radio:disabled + label {
  cursor: default;
  pointer-events: none;
}
.sf-radio:disabled + label::before {
  background-color: transparent;
  border-color: rgba(var(--sf-color-on-surface), 0.38);
}
.sf-radio:disabled + label .sf-ripple-container {
  background-color: transparent;
}
.sf-radio:disabled + label .sf-ripple-container::after {
  background-color: transparent;
}
.sf-radio:disabled + label .sf-label {
  color: rgba(var(--sf-color-on-surface), 0.38);
}
.sf-radio-me .sf-label {
  padding-inline-start: var(--sf-spacing-24);
  font-size: var(--sf-font-size-sm);
}
.sf-radio-me::before {
  padding: var(--sf-spacing-8);
}
.sf-radio-me::after {
  padding: var(--sf-spacing-3);
  inset-inline-start: var(--sf-spacing-5);
}
.sf-radio-me .sf-ripple-container {
  padding: var(--sf-spacing-16);
  inset-inline-start: calc(var(--sf-spacing) * -0.4375);
}
.sf-radio-me.sf-bottom .sf-label {
  padding-top: var(--sf-spacing-48);
  padding-inline-start: var(--sf-spacing-0);
}
.sf-radio-me.sf-right.sf-radio-label {
  flex-direction: row-reverse;
}
.sf-radio-me.sf-right .sf-label {
  padding-inline-end: var(--sf-spacing-24);
  padding-inline-start: 0;
}
.sf-radio-me.sf-right::after {
  inset-inline-start: auto;
  inset-inline-end: var(--sf-spacing-5);
}
.sf-radio-me.sf-right .sf-ripple-container {
  inset-inline-start: auto;
  inset-inline-end: calc(var(--sf-spacing) * -0.4375);
}
.sf-radio-sm .sf-label {
  padding-inline-start: var(--sf-spacing-22);
  font-size: var(--sf-font-size-xs);
}
.sf-radio-sm::before {
  padding: var(--sf-spacing-7);
}
.sf-radio-sm::after {
  padding: var(--sf-spacing-3);
  inset-inline-start: var(--sf-spacing-4);
}
.sf-radio-sm .sf-ripple-container {
  padding: var(--sf-spacing-11);
  inset-inline-start: calc(var(--sf-spacing) * -0.1875);
}
.sf-radio-sm.sf-bottom .sf-label {
  padding-top: var(--sf-spacing-40);
  padding-inline-start: var(--sf-spacing-0);
}
.sf-radio-sm.sf-right.sf-radio-label {
  flex-direction: row-reverse;
}
.sf-radio-sm.sf-right .sf-label {
  padding-inline-end: var(--sf-spacing-22);
  padding-inline-start: 0;
}
.sf-radio-sm.sf-right::after {
  inset-inline-start: auto;
  inset-inline-end: var(--sf-spacing-4);
}
.sf-radio-sm.sf-right .sf-ripple-container {
  inset-inline-start: auto;
  inset-inline-end: calc(var(--sf-spacing) * -0.1875);
}
.sf-radio-la .sf-label {
  padding-inline-start: var(--sf-spacing-28);
  font-size: var(--sf-font-size-base);
}
.sf-radio-la::before {
  padding: var(--sf-spacing-10);
}
.sf-radio-la::after {
  padding: var(--sf-spacing-4);
  inset-inline-start: var(--sf-spacing-6);
}
.sf-radio-la .sf-ripple-container {
  padding: var(--sf-spacing-20);
  inset-inline-start: calc(var(--sf-spacing) * -0.5625);
}
.sf-radio-la.sf-bottom .sf-label {
  padding-top: var(--sf-spacing-48);
  padding-inline-start: var(--sf-spacing-0);
}
.sf-radio-la.sf-right.sf-radio-label {
  flex-direction: row-reverse;
}
.sf-radio-la.sf-right .sf-label {
  padding-inline-end: var(--sf-spacing-28);
  padding-inline-start: 0;
}
.sf-radio-la.sf-right::after {
  inset-inline-start: auto;
  inset-inline-end: var(--sf-spacing-6);
}
.sf-radio-la.sf-right .sf-ripple-container {
  inset-inline-start: auto;
  inset-inline-end: calc(var(--sf-spacing) * -0.5625);
}
.sf-radio-secondary .sf-radio:checked + label::after {
  background-color: rgb(var(--sf-color-on-surface-variant), 1);
  border-color: rgb(var(--sf-color-on-surface-variant), 1);
}
.sf-radio-secondary .sf-radio-label::before {
  border-color: rgb(var(--sf-color-on-surface-variant), 1);
}
.sf-radio-secondary .sf-radio-label:hover .sf-ripple-container {
  background: rgb(var(--sf-color-on-surface-variant), 0.1);
}
.sf-radio-success .sf-radio:checked + label::after {
  background-color: rgb(var(--sf-color-success), 1);
  border-color: rgb(var(--sf-color-success), 1);
}
.sf-radio-success .sf-radio-label::before {
  border-color: rgb(var(--sf-color-success), 1);
}
.sf-radio-success .sf-radio-label:hover .sf-ripple-container {
  background: rgb(var(--sf-color-success), 0.08);
}
.sf-radio-warning .sf-radio:checked + label::after {
  background-color: rgb(var(--sf-color-warning), 1);
  border-color: rgb(var(--sf-color-warning), 1);
}
.sf-radio-warning .sf-radio-label::before {
  border-color: rgb(var(--sf-color-warning), 1);
}
.sf-radio-warning .sf-radio-label:hover .sf-ripple-container {
  background: rgb(var(--sf-color-warning), 0.08);
}
.sf-radio-info .sf-radio:checked + label::after {
  background-color: rgb(var(--sf-color-info), 1);
  border-color: rgb(var(--sf-color-info), 1);
}
.sf-radio-info .sf-radio-label::before {
  border-color: rgb(var(--sf-color-info), 1);
}
.sf-radio-info .sf-radio-label:hover .sf-ripple-container {
  background: rgb(var(--sf-color-info), 0.08);
}
.sf-radio-error .sf-radio:checked + label::after {
  background-color: rgb(var(--sf-color-error), 1);
  border-color: rgb(var(--sf-color-error), 1);
}
.sf-radio-error .sf-radio-label::before {
  border-color: rgb(var(--sf-color-error), 1);
}
.sf-radio-error .sf-radio-label:hover .sf-ripple-container {
  background: rgb(var(--sf-color-error), 0.08);
}