@layer ddsweb-molecules {
  @layer ddsweb-radio-button {
    .nt3PVa_container {
      --visible-border-color: var(--dds-interaction-colour-interactive-form);
      --visible-box-shadow-color: var(--dds-interaction-colour-interactive-active);
      --visible-background-color: var(--dds-background-colour-background-1);
      width: var(--radio-container-width, var(--dds-sizing-size-32));
      height: var(--radio-container-height, var(--dds-sizing-size-32));
      border-radius: 50%;
      display: inline-block;
    }

    .nt3PVa_visible {
      -webkit-tap-highlight-color: transparent;
      appearance: none;
      border: 1px solid var(--visible-border-color);
      background-image: none;
      background-color: var(--visible-background-color);
      color: var(--visible-color, transparent);
      border-radius: 50%;
      margin: 0;
      padding: 0;
    }

    .nt3PVa_visible svg {
      width: var(--ddsweb-tc-radio-checked-svg-size);
      height: var(--ddsweb-tc-radio-checked-svg-size);
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    .nt3PVa_visible:after {
      z-index: 0;
      content: "";
      --ddsweb-radio-button-shadow-position-inset: -2px;
      top: var(--ddsweb-radio-button-shadow-position-inset);
      right: var(--ddsweb-radio-button-shadow-position-inset);
      bottom: var(--ddsweb-radio-button-shadow-position-inset);
      left: var(--ddsweb-radio-button-shadow-position-inset);
      inset: var(--ddsweb-radio-button-shadow-position-inset);
      transition: box-shadow var(--ddsweb-theme-base-transition-duration);
      border-radius: 99px;
      position: absolute;
    }

    .nt3PVa_hidden {
      z-index: 1;
      cursor: pointer;
      opacity: 0;
      border-radius: 50%;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
    }

    .nt3PVa_hidden:focus + .nt3PVa_visible, .nt3PVa_hidden:hover + .nt3PVa_visible {
      --visible-border-color: var(--dds-interaction-colour-interactive-active);
    }

    .nt3PVa_hidden:checked + .nt3PVa_visible, .nt3PVa_hidden[aria-checked="true"] + .nt3PVa_visible {
      --visible-background-color: var(--dds-interaction-colour-interactive-active);
      --visible-border-color: var(--dds-interaction-colour-interactive-active);
      --visible-color: var(--dds-typography-colour-text-on-dark);
    }

    .nt3PVa_error:checked + .nt3PVa_visible, .nt3PVa_error[aria-checked="true"] + .nt3PVa_visible {
      --visible-background-color: var(--dds-interaction-colour-interactive-error-form);
      --visible-border-color: var(--dds-interaction-colour-interactive-error-form);
      --visible-color: var(--dds-typography-colour-text-on-dark);
    }

    .nt3PVa_hidden:disabled {
      cursor: default;
    }

    .nt3PVa_hidden:disabled + .nt3PVa_visible {
      --visible-border-color: var(--dds-line-colour-border-primary);
    }

    .nt3PVa_hidden:checked:disabled + .nt3PVa_visible, .nt3PVa_hidden[aria-checked="true"]:disabled + .nt3PVa_visible {
      --visible-border-color: var(--dds-interaction-colour-interactive-active);
      opacity: .4;
    }

    .nt3PVa_error + .nt3PVa_visible {
      --visible-border-color: var(--dds-interaction-colour-interactive-error-form);
    }

    .nt3PVa_error:checked:disabled + .nt3PVa_visible, .nt3PVa_error:disabled + .nt3PVa_visible {
      --visible-border-color: var(--dds-interaction-colour-interactive-error-form);
      opacity: .4;
    }

    .nt3PVa_error:hover + .nt3PVa_visible, .nt3PVa_error:focus + .nt3PVa_visible, .nt3PVa_error:focus-visible + .nt3PVa_visible {
      --visible-border-color: var(--dds-interaction-colour-interactive-error-form);
      --visible-box-shadow-color: var(--dds-interaction-colour-interactive-error-form);
      border-width: 1px;
    }

    .nt3PVa_md {
      --radio-container-height: var(--ddsweb-tc-radio-container-height-md, var(--dds-sizing-size-32));
      --radio-container-width: var(--ddsweb-tc-radio-container-width-md, var(--dds-sizing-size-32));
    }

    .nt3PVa_sm {
      --radio-container-height: var(--ddsweb-tc-radio-container-height-sm, var(--dds-sizing-size-24));
      --radio-container-width: var(--ddsweb-tc-radio-container-width-sm, var(--dds-sizing-size-24));
    }

    .nt3PVa_hidden:enabled:focus + .nt3PVa_visible:after, .nt3PVa_hidden:enabled:hover + .nt3PVa_visible:after {
      box-shadow: 0 0 0 3px var(--visible-box-shadow-color);
    }

    .nt3PVa_hidden:checked + .nt3PVa_visible > svg, .nt3PVa_hidden[aria-checked="true"] + .nt3PVa_visible > svg {
      display: unset;
    }

    .nt3PVa_hidden + .nt3PVa_visible > svg {
      display: none;
    }

    @media (forced-colors: active) {
      .nt3PVa_visible, .nt3PVa_visible:after {
        box-shadow: none;
      }

      .nt3PVa_hidden:checked + .nt3PVa_visible {
        background-color: canvastext;
      }

      .nt3PVa_hidden:checked + .nt3PVa_visible > svg {
        stroke: canvas;
      }

      .nt3PVa_hidden:checked + .nt3PVa_visible > svg circle {
        color: canvas;
      }

      .nt3PVa_hidden:enabled:focus + .nt3PVa_visible:after, .nt3PVa_hidden:enabled:hover + .nt3PVa_visible:after {
        --visible-border-color: var(--dds-interaction-colour-interactive-active);
        outline: 3px solid var(--visible-border-color, transparent);
        outline-offset: 1px;
        transition: outline-color var(--ddsweb-theme-base-transition-duration);
      }
    }
  }
}


/*# sourceMappingURL=022e254cd29ef29a7a6f.css.map*/