.ChoiceGroup {
  --choice-group-bg-color: transparent;
  --choice-group-border-color: var(--color-control-bg-border-default);
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  max-width: 100%;
  background-color: var(--choice-group-bg-color);
  border-radius: var(--choice-radius);
  -webkit-box-shadow: inset 0 0 0 var(--control-border-width) var(--choice-group-border-color);
          box-shadow: inset 0 0 0 var(--control-border-width) var(--choice-group-border-color);
}

  .ChoiceGroup_view_primary {
      --choice-bg-color: var(--color-control-bg-primary);
      --choice-text-color: var(--color-control-typo-primary);
    }

  .ChoiceGroup_view_ghost {
      --choice-bg-color: var(--color-control-bg-ghost);
      --choice-text-color: var(--color-control-typo-ghost);
    }

  .ChoiceGroup_view_secondary {
      --choice-bg-color: var(--color-control-bg-secondary);
      --choice-text-color: var(--color-control-typo-secondary);
    }

  .ChoiceGroup_view_secondary .ChoiceGroup-Label_checked {
        -webkit-box-shadow: inset 0 0 0 1px var(--color-control-bg-border-secondary);
                box-shadow: inset 0 0 0 1px var(--color-control-bg-border-secondary);
      }

  .ChoiceGroup_size_xs {
      --choice-height: var(--control-height-xs);
      --choice-font-size: var(--control-text-size-xs);
      --choice-space: var(--control-space-xs);
    }

  .ChoiceGroup_size_s {
      --choice-height: var(--control-height-s);
      --choice-font-size: var(--control-text-size-s);
      --choice-space: var(--control-space-s);
    }

  .ChoiceGroup_size_m {
      --choice-height: var(--control-height-m);
      --choice-font-size: var(--control-text-size-m);
      --choice-space: var(--control-space-m);
    }

  .ChoiceGroup_size_l {
      --choice-height: var(--control-height-l);
      --choice-font-size: var(--control-text-size-l);
      --choice-space: var(--control-space-l);
    }

  .ChoiceGroup_form_default,
    .ChoiceGroup_form_brick {
      --divider-width: var(--control-border-width);
      --divider-height: unset;
      --divider-scale: 0.65;
      --divider-radius: 0;
      --divider-align-self: unset;
    }

  .ChoiceGroup_form_default {
      --choice-radius: var(--control-radius);
    }

  .ChoiceGroup_form_brick {
      --choice-radius: 0;
    }

  .ChoiceGroup_form_round {
      --choice-radius: 99em;
      --divider-width: 4px;
      --divider-height: 4px;
      --divider-scale: 1;
      --divider-radius: 99em;
      --divider-align-self: center;
    }

  .ChoiceGroup_form_round .ChoiceGroup-Label {
        padding-right: calc(var(--choice-space) * 1.2 + var(--control-border-width));
        padding-left: calc(var(--choice-space) * 1.2);
      }

  .ChoiceGroup-Label {
    --choice-group-label-color: var(--color-control-typo-default);
    --choice-group-label-bg-color: transparent;
    --choice-group-label-bg-left: 0;
    --choice-helper-bg-disabled: transparent;
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: var(--choice-height);
    padding: 0 var(--choice-space) 0 var(--choice-space);
    color: var(--choice-group-label-color);
    background-color: var(--choice-group-label-bg-color);
    border-radius: var(--choice-radius);
    font-size: var(--choice-font-size);
    font-weight: var(--font-weight-text-regular);
    line-height: calc(var(--choice-height) - var(--control-border-width) * 2);
    text-decoration: none;
    cursor: pointer;
    -webkit-transition: background-color 0.15s ease, color 0.15s ease,
      fill 0.15s ease, -webkit-box-shadow 0.15s ease;
    transition: background-color 0.15s ease, color 0.15s ease,
      fill 0.15s ease, -webkit-box-shadow 0.15s ease;
    transition: background-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease,
      fill 0.15s ease;
    transition: background-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease,
      fill 0.15s ease, -webkit-box-shadow 0.15s ease;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }

  .ChoiceGroup-Label::after {
      content: '';
      position: absolute;
      z-index: 0;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: var(--choice-helper-bg-disabled);
    }

  .ChoiceGroup-Input {
    position: absolute;
    opacity: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
  }

  .ChoiceGroup-Label:not(.ChoiceGroup-Label_checked):hover {
      --choice-group-label-color: var(--color-control-typo-secondary-hover);
    }

  .ChoiceGroup-Divider {
    --divider-bg-color: var(--color-control-bg-border-default);
    width: var(--divider-width);
    min-width: var(--divider-width);
    height: var(--divider-height);
    background-color: var(--divider-bg-color);
    border-radius: var(--divider-radius);
    -webkit-transform: scaleY(var(--divider-scale));
            transform: scaleY(var(--divider-scale));
    -ms-flex-item-align: var(--divider-align-self);
        align-self: var(--divider-align-self);
  }

  .ChoiceGroup-Divider_checked:not(.ChoiceGroup-Divider_disabled) {
      --divider-bg-color: transparent;
    }

  .ChoiceGroup-Label_checked {
    --choice-group-label-color: var(--choice-text-color);
    --choice-group-label-bg-color: var(--choice-bg-color);
  }

  .ChoiceGroup-Label_checked:not(.ChoiceGroup-Label_disabled) {
      --divider-bg-color: transparent;
    }

  .ChoiceGroup-Label_checked:not(.ChoiceGroup-Label_disabled) + .ChoiceGroup-Divider {
        --divider-bg-color: transparent;
      }

  .ChoiceGroup-Text {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .ChoiceGroup:not(.ChoiceGroup_onlyIcon) .ChoiceGroup-Icon {
    margin-right: calc(var(--choice-space) * 0.5);
  }

  .ChoiceGroup_onlyIcon .ChoiceGroup-Label {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: var(--choice-height);
      padding: 0;
    }

  .ChoiceGroup_width_full {
      width: 100%;
    }

  .ChoiceGroup-Label_disabled {
    --choice-group-label-color: var(--color-control-typo-disable);
    --choice-group-label-bg-color: var(--color-control-bg-disable);
    pointer-events: none;
  }

  .ChoiceGroup_disabled {
    --choice-group-bg-color: var(--color-control-bg-disable);
    --choice-group-border-color: transparent;
  }

  .ChoiceGroup_disabled .ChoiceGroup-Label_disabled:not(.ChoiceGroup-Label_checked) {
      --choice-group-label-bg-color: transparent;
    }

  .ChoiceGroup_disabled .ChoiceGroup-Divider {
      --divider-bg-color: transparent;
    }

  .ChoiceGroup:not(.ChoiceGroup_disabled) .ChoiceGroup-Label_disabled.ChoiceGroup-Label_checked::after {
      --choice-helper-bg-disabled: var(--color-control-bg-disable);
    }
