/**
 * Do not edit directly, this file was auto-generated.
 */
@layer jokul.components {
  .jkl-radio-button {
    display: flex;
    position: relative;
    --text-color: var(--jkl-color-text-default);
    --icon-color: var(--jkl-color-background-contrast);
    font: var(--jkl-text-style-text-medium);
  }
  .jkl-radio-button {
    outline: 0;
    border-style: none;
    outline-style: none;
  }
  .jkl-radio-button:active, .jkl-radio-button:hover, .jkl-radio-button:focus {
    outline: 0;
    outline-style: none;
  }
  @media screen and (forced-colors: active) {
    .jkl-radio-button {
      outline: revert;
      border-style: revert;
      outline-style: revert;
    }
    .jkl-radio-button:active, .jkl-radio-button:hover, .jkl-radio-button:focus {
      outline: revert;
      outline-style: revert;
    }
  }
  .jkl-radio-button__input {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    block-size: 1lh;
    inline-size: 1lh;
    margin: 0;
    padding: 0;
    cursor: pointer;
    z-index: 1;
    appearance: none;
    background: transparent;
    border: 0;
  }
  .jkl-radio-button__input {
    outline: 0;
    border-style: none;
    outline-style: none;
  }
  .jkl-radio-button__input:active, .jkl-radio-button__input:hover, .jkl-radio-button__input:focus {
    outline: 0;
    outline-style: none;
  }
  @media screen and (forced-colors: active) {
    .jkl-radio-button__input {
      outline: revert;
      border-style: revert;
      outline-style: revert;
    }
    .jkl-radio-button__input:active, .jkl-radio-button__input:hover, .jkl-radio-button__input:focus {
      outline: revert;
      outline-style: revert;
    }
  }
  .jkl-radio-button__label {
    cursor: pointer;
    display: flex;
    color: var(--text-color);
    transition-timing-function: var(--jkl-motion-easing-standard);
    transition-duration: var(--jkl-motion-timing-productive);
    transition-property: color;
  }
  .jkl-radio-button__label::before {
    color: var(--icon-color);
    content: "radio_button_unchecked"/"";
    margin-inline-end: 0.25em;
    font-family: var(--jkl-font-family-icons);
    font-variation-settings: "FILL" var(--jkl-icon-fill, 0);
    font-feature-settings: "liga";
    -webkit-font-feature-settings: "liga";
    font-size: 1.3em;
    font-weight: 400;
    line-height: 1;
    display: inline-block;
    flex-shrink: 0;
    -webkit-font-smoothing: antialiased;
    transition-timing-function: var(--jkl-motion-easing-standard);
    transition-duration: var(--jkl-motion-timing-energetic);
    transition-property: font-variation-settings, transform;
  }
  .jkl-radio-button__input:focus-visible + .jkl-radio-button__label::before {
    border-radius: var(--jkl-border-radius-full);
    outline: 3px solid var(--jkl-color-border-strong);
    outline-offset: 3px;
  }
  .jkl-radio-button__input:is(:hover, :active) + .jkl-radio-button__label, .jkl-radio-button__label:hover, .jkl-radio-button__label:active {
    --jkl-icon-weight: var(--jkl-font-weight-bold);
  }
  .jkl-radio-button__input:checked + .jkl-radio-button__label::before {
    content: "radio_button_checked"/"";
  }
  .jkl-radio-button__input[aria-invalid=true] + .jkl-radio-button__label::before {
    color: var(--jkl-color-error-background-contrast);
  }
  .jkl-radio-button + .jkl-radio-button, .jkl-dormant-form-support-label + .jkl-radio-button, .jkl-form-support-label + .jkl-radio-button {
    margin-top: 0.75lh;
  }
  .jkl-radio-button--inline {
    display: inline-flex;
    margin-right: var(--jkl-unit-30);
  }
  .jkl-radio-button--inline + .jkl-radio-button--inline, .jkl-dormant-form-support-label + .jkl-radio-button--inline, .jkl-form-support-label + .jkl-radio-button--inline {
    margin-top: 0;
  }
  .jkl-radio-button + .jkl-form-support-label {
    margin-left: 1.75em;
    margin-top: 0.25lh;
    margin-bottom: var(--jkl-unit-10);
  }
}