/*** Allianz One Breakpoints and Mixins ***/
/*** NDBX One Breakpoints and Mixins ***/
.radio {
  user-select: none;
  margin-bottom: var(--margin-s);
}

.radio input {
  position: absolute;
  display: flex;
  appearance: unset;
  height: var(--radio-button-size);
  width: var(--radio-button-size);
  border: var(--radio-button-border-width) solid var(--radio-button-unselected-border-color-resting);
  border-radius: 50%;
  background-color: var(--radio-button-unselected-surface-resting);
  transition: var(--radio-button-transition-border-color-default-easing) var(--radio-button-transition-border-color-default-duration);
  cursor: pointer;
}

.radio input:focus-visible {
  border-radius: 50%;
  transition: color 0.2s ease, outline 0.2s ease;
  border-radius: 4px;
  outline: var(--semantic-border-width-focus) solid var(--semantic-color-border-focus);
  outline-offset: 2px;
}

.theme--inverted .radio input:focus-visible {
  outline-color: var(--semantic-color-border-focus-inverse);
}

.radio input:hover {
  background-color: var(--radio-button-unselected-surface-hover);
  border-color: var(--radio-button-unselected-border-color-hover);
}

.radio input:active {
  background-color: var(--radio-button-unselected-surface-active);
  border-color: var(--radio-button-unselected-border-color-active);
}

.radio input:checked {
  background-color: var(--radio-button-selected-surface-resting);
  border-color: var(--radio-button-selected-border-color-resting);
  border-width: calc(var(--radio-button-size) / 2 - var(--radio-button-selected-surface-border-radius));
}

.radio input:checked:active {
  background-color: var(--radio-button-selected-surface-active);
  border-color: var(--radio-button-selected-border-color-active);
}

.radio input:checked:hover {
  background-color: var(--radio-button-selected-surface-hover);
  border-color: var(--radio-button-selected-border-color-hover);
}

.radio input:disabled {
  pointer-events: none;
  background-color: var(--radio-button-unselected-surface-disabled);
  border-color: var(--radio-button-unselected-border-color-disabled);
}

.radio input:disabled:hover {
  background-color: var(--radio-button-unselected-surface-disabled);
  border-color: var(--radio-button-unselected-border-color-disabled);
}

.radio label {
  padding-top: 6px;
  display: flex;
  cursor: pointer;
  margin-left: calc(var(--radio-button-gap) + var(--radio-button-size));
  margin-bottom: 12px;
}

.radio input:disabled + label {
  cursor: not-allowed;
  color: var(--input-field-color-disabled);
}

.radio input:checked:disabled + label .radio__text {
  color: var(--grey-5);
}

.radio input:checked:disabled + label:before {
  background: var(--grey-5);
  background-clip: content-box;
}

.radio.radio--inverted:focus label {
  color: var(--radio-button-on-action-unselected-surface-resting);
}

.radio.radio--inverted label {
  color: var(--radio-button-on-action-unselected-surface-resting);
}

.radio.radio--inverted input:checked + label {
  color: var(--radio-button-on-action-unselected-surface-resting);
}

.radio.radio--inverted input:disabled + label .radio__text {
  color: var(--radio-button-selected-surface-disabled);
}

.radio.radio--inverted input:checked:disabled + label:before {
  background: var(--radio-button-selected-surface-disabled);
  background-clip: content-box;
}

.radio.radio--inverted input:checked:disabled + label .radio__text {
  color: var(--radio-button-selected-surface-disabled);
}

.radio-horizontal {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--size-m);
  row-gap: calc(var(--size-m) - var(--size-3xs));
  grid-auto-flow: row;
}

@media (min-width: 704px) and (max-width: 991px) {
  .radio-horizontal {
    grid-template-columns: repeat(3, 1fr);
    column-gap: var(--size-s);
  }
}
@media (max-width: 703px) {
  .radio-horizontal {
    grid-template-columns: repeat(2, 1fr);
    column-gap: var(--size-s);
  }
}
@media (max-width: 703px) {
  .radio-horizontal.radio-mobile-vertical {
    grid-template-columns: 1fr;
  }
}
.radio-horizontal.radio--big .radio label {
  display: flex;
  align-items: baseline;
}

.radio-horizontal.radio--big .radio label:before {
  top: calc(var(--size-2xs) - var(--size-4xs));
  position: relative;
}

.radio--group {
  margin-top: var(--margin-m);
}

.radio--group.has-error input {
  border-color: var(--input-field-border-color-critical);
}

.radio--group.has-error label {
  font-weight: var(--semantic-text-utility-attention-m-font-weight);
}

.radio--group__legend {
  font-size: var(--label-group-text-font-size);
  font-weight: var(--label-group-text-font-weight);
  line-height: var(--label-group-text-line-height);
  letter-spacing: var(--label-group-text-letter-spacing);
  margin-bottom: var(--semantic-spacing-static-400);
}

.radio__input {
  cursor: pointer;
}