:root {
  --ifx-font-family: "Source Sans 3", 'Arial, sans-serif';
}

:host {
  display: inline-flex;
  --_ifx-fallback-display: none !important;
}

._ifx-radiobutton-fallback {
  display: var(--_ifx-fallback-display);
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

.radioButton__container {
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  gap: 8px;
  cursor: pointer;
  font-family: var(--ifx-font-family);
  outline: none;
}
.radioButton__container.disabled {
  cursor: default;
}
.radioButton__container.disabled .radioButton__wrapper {
  background-color: #BFBBBB;
  border-color: #BFBBBB;
}
.radioButton__container.disabled .radioButton__wrapper:hover {
  background-color: #BFBBBB;
}
.radioButton__container.disabled .radioButton__wrapper.checked {
  background-color: #FFFFFF;
  border-color: #BFBBBB;
}
.radioButton__container.disabled .radioButton__wrapper.checked::after {
  background-color: #BFBBBB;
}
.radioButton__container.disabled .radioButton__wrapper.checked .radioButton__wrapper-mark {
  background-color: #BFBBBB;
}
.radioButton__container.disabled .radioButton__wrapper.checked:hover {
  border-color: #BFBBBB;
}
.radioButton__container.disabled .radioButton__wrapper.checked:hover .radioButton__wrapper-mark {
  background-color: #BFBBBB;
}
.radioButton__container.disabled .label {
  color: #BFBBBB;
}
.radioButton__container:not(.disabled) .radioButton__wrapper.error {
  border-color: #CD002F;
}
.radioButton__container:not(.disabled) .radioButton__wrapper.error:hover, .radioButton__container:not(.disabled) .radioButton__wrapper.error:focus-visible {
  border-color: #CD002F;
}
.radioButton__container:not(.disabled) .radioButton__wrapper.error.checked::after {
  border-color: #CD002F;
  background-color: #CD002F;
}
.radioButton__container:focus:not(.disabled) .radioButton__wrapper::before {
  content: "";
  position: absolute;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 2px solid #0A8276;
  border-radius: 50%;
}
.radioButton__container.m .radioButton__wrapper {
  width: 24px;
  height: 24px;
}
.radioButton__container .radioButton__wrapper {
  width: 20px;
  height: 20px;
  position: relative;
  display: block;
  border-radius: 50%;
  background-color: #FFFFFF;
  border: 1px solid #575352;
}
.radioButton__container .radioButton__wrapper .radioButton__wrapper-mark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #0A8276;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-color: transparent;
}
.radioButton__container .radioButton__wrapper:hover {
  background-color: #EEEDED;
}
.radioButton__container .radioButton__wrapper.checked {
  border-color: #0A8276;
}
.radioButton__container .radioButton__wrapper.checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background-color: #0A8276;
  border-radius: 50%;
}
.radioButton__container .radioButton__wrapper.checked:hover {
  border-color: #08665C;
}
.radioButton__container .radioButton__wrapper.checked:hover .radioButton__wrapper-mark {
  background-color: #08665C;
}
.radioButton__container .label {
  display: flex;
  align-items: center;
  height: 20px;
  font-style: normal;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: #1D1D1D;
  flex: none;
  order: 1;
  flex-grow: 0;
}
.radioButton__container .label.label-m {
  height: 24px;
  font-size: 1rem;
  line-height: 1.5rem;
}