/*!
 * DSFR v1.13.2 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
 */
.fr-radio-group {
  position: relative;
  max-width: max-content;
}

.fr-radio-group input[type=radio] {
  position: absolute;
  margin: 0;
  width: 1.5rem;
  height: 1.5rem;
  opacity: 0;
}

.fr-radio-group input[type=radio] + label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding-left: 2rem;
  background-position: calc(-0.25rem + 1px) calc(-0.25rem + 1px), calc(-0.25rem + 1px) calc(-0.25rem + 1px);
  background-size: 1.875rem 1.875rem, 1.875rem 1.875rem;
  background-repeat: no-repeat, no-repeat;
  background-image: radial-gradient(transparent 10px, var(--border-action-high-blue-france) 11px, transparent 12px);
}

.fr-radio-group input[type=radio] + label::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 0;
  border-radius: 1.5rem;
  margin-left: -2rem;
}

.fr-radio-group input[type=radio] + label .fr-hint-text {
  margin: 0;
  width: 100%;
}

.fr-radio-group--sm input[type=radio] {
  width: 1rem;
  height: 1rem;
  top: 0.25rem;
}

.fr-radio-group--sm input[type=radio] + label {
  padding-left: 1.5rem;
  background-position: 0 0.25rem, 0 0.25rem;
  background-size: 1rem 1rem, 1rem 1rem;
  background-image: radial-gradient(transparent 6px, var(--border-action-high-blue-france) 7px, transparent 8px);
}

.fr-radio-group--sm input[type=radio] + label::before {
  top: 0.25rem;
  width: 1rem;
  height: 1rem;
  border-radius: 0.5rem;
  margin-left: -1.5rem;
}

.fr-radio-rich {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  max-width: 100%;
}

.fr-radio-rich input[type=radio] {
  width: 1rem;
  height: 1rem;
  left: 1rem;
  top: calc(50% - 0.5rem);
}

.fr-radio-rich input[type=radio] + label {
  padding-left: 2.75rem;
  margin-left: 0;
  align-self: stretch;
  width: 100%;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-right: 1rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%, 1rem 1rem, 1rem 1rem;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: 0 0, 100% 0, 0 100%, 0 0, 1rem 50%, 1rem 50%;
  background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--border-action-high-blue-france) 7px, transparent 8px);
  background-color: var(--background-default-grey);

  --idle: transparent;
  --hover: var(--background-default-grey-hover);
  --active: var(--background-default-grey-active);
}

.fr-radio-rich input[type=radio] + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin-left: 0;
  border-radius: 0;
}

.fr-radio-rich input[type=radio] + label .fr-hint-text {
  margin-left: 0;
}

.fr-radio-rich input[type=radio]:not(:disabled) ~ label {
  --hover-tint: var(--hover);
  --active-tint: var(--active);
}

.fr-radio-rich input[type=radio]:not(:disabled) ~ label:hover {
  background-color: var(--hover-tint);
}

.fr-radio-rich input[type=radio]:not(:disabled) ~ label:active {
  background-color: var(--active-tint);
}

.fr-radio-rich input[type=radio]:not(:disabled) ~ label:hover + .fr-radio-rich__pictogram {
  background-color: var(--hover);
}

.fr-radio-rich input[type=radio]:not(:disabled) ~ label:active + .fr-radio-rich__pictogram {
  background-color: var(--active);
}

.fr-radio-rich__pictogram {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-left: -1px;
  padding: 0.25rem;
  width: 5.5rem;
  min-width: 5.5rem;
  min-height: 5.5rem;
  align-self: stretch;
  pointer-events: none;
  background-size: 100% 1px, 100% 1px, 1px 100%, 1px calc(100% - 0.5rem);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: 0 0, 0 100%, 100% 0, 0 0.25rem;
  background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
  background-color: var(--background-default-grey);

  --idle: transparent;
  --hover: var(--background-default-grey-hover);
  --active: var(--background-default-grey-active);
}

.fr-radio-rich__pictogram img,
.fr-radio-rich__pictogram svg {
  max-width: 3.5rem;
  max-height: 3.5rem;
}

.fr-control > .fr-radio-rich.fr-radio-group {
  margin-top: 0;
  margin-bottom: 0;
}

.fr-radio-group input[type=radio]:disabled + label {
  background-image: radial-gradient(transparent 10px, var(--background-disabled-grey) 11px, transparent 12px);
}

.fr-radio-group input[type=radio]:checked + label {
  background-image: radial-gradient(transparent 10px, var(--border-active-blue-france) 11px, transparent 12px), radial-gradient(var(--background-active-blue-france) 5px, transparent 6px);
}

.fr-radio-group input[type=radio]:checked:disabled + label {
  background-image: radial-gradient(transparent 10px, var(--background-disabled-grey) 11px, transparent 12px), radial-gradient(var(--background-disabled-grey) 5px, transparent 6px);
}

.fr-fieldset--error .fr-radio-group input[type=radio] + label {
  background-image: radial-gradient(transparent 10px, var(--border-plain-error) 11px, transparent 12px);
}

.fr-fieldset--error .fr-radio-group input[type=radio]:checked + label {
  background-image: radial-gradient(transparent 10px, var(--border-plain-error) 11px, transparent 12px), radial-gradient(var(--background-active-blue-france) 5px, transparent 6px);
}

.fr-fieldset--valid .fr-radio-group input[type=radio] + label {
  background-image: radial-gradient(transparent 10px, var(--border-plain-success) 11px, transparent 12px);
}

.fr-fieldset--valid .fr-radio-group input[type=radio]:checked + label {
  background-image: radial-gradient(transparent 10px, var(--border-plain-success) 11px, transparent 12px), radial-gradient(var(--background-active-blue-france) 5px, transparent 6px);
}

.fr-fieldset--info .fr-radio-group input[type=radio] + label {
  background-image: radial-gradient(transparent 10px, var(--border-plain-info) 11px, transparent 12px);
}

.fr-fieldset--info .fr-radio-group input[type=radio]:checked + label {
  background-image: radial-gradient(transparent 10px, var(--border-plain-info) 11px, transparent 12px), radial-gradient(var(--background-active-blue-france) 5px, transparent 6px);
}

.fr-fieldset .fr-radio-group input[type=radio]:disabled + label {
  background-image: radial-gradient(transparent 10px, var(--background-disabled-grey) 11px, transparent 12px);
}

.fr-fieldset .fr-radio-group input[type=radio]:disabled:checked + label {
  background-image: radial-gradient(transparent 10px, var(--background-disabled-grey) 11px, transparent 12px), radial-gradient(var(--background-disabled-grey) 5px, transparent 6px);
}

.fr-radio-group--sm input[type=radio]:disabled + label {
  background-image: radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px);
}

.fr-radio-group--sm input[type=radio]:checked + label {
  background-image: radial-gradient(transparent 6px, var(--border-active-blue-france) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
}

.fr-radio-group--sm input[type=radio]:checked:disabled + label {
  background-image: radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px), radial-gradient(var(--background-disabled-grey) 3px, transparent 4px);
}

.fr-fieldset--error .fr-radio-group--sm input[type=radio] + label {
  background-image: radial-gradient(transparent 6px, var(--border-plain-error) 7px, transparent 8px);
}

.fr-fieldset--error .fr-radio-group--sm input[type=radio]:checked + label {
  background-image: radial-gradient(transparent 6px, var(--border-plain-error) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
}

.fr-fieldset--valid .fr-radio-group--sm input[type=radio] + label {
  background-image: radial-gradient(transparent 6px, var(--border-plain-success) 7px, transparent 8px);
}

.fr-fieldset--valid .fr-radio-group--sm input[type=radio]:checked + label {
  background-image: radial-gradient(transparent 6px, var(--border-plain-success) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
}

.fr-fieldset--info .fr-radio-group--sm input[type=radio] + label {
  background-image: radial-gradient(transparent 6px, var(--border-plain-info) 7px, transparent 8px);
}

.fr-fieldset--info .fr-radio-group--sm input[type=radio]:checked + label {
  background-image: radial-gradient(transparent 6px, var(--border-plain-info) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
}

.fr-fieldset .fr-radio-group--sm input[type=radio]:disabled + label {
  background-image: radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px);
}

.fr-fieldset .fr-radio-group--sm input[type=radio]:disabled:checked + label {
  background-image: radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px), radial-gradient(var(--background-disabled-grey) 3px, transparent 4px);
}

.fr-radio-rich input[type=radio]:disabled + label {
  background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px);
}

.fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram svg * {
  fill: var(--text-disabled-grey);
}

.fr-radio-rich input[type=radio]:checked + label {
  background-image: linear-gradient(0deg, var(--border-active-blue-france), var(--border-active-blue-france)), linear-gradient(0deg, var(--border-active-blue-france), var(--border-active-blue-france)), linear-gradient(0deg, var(--border-active-blue-france), var(--border-active-blue-france)), linear-gradient(0deg, var(--border-active-blue-france), var(--border-active-blue-france)), radial-gradient(transparent 6px, var(--border-active-blue-france) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
}

.fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__pictogram {
  background-image: linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
}

.fr-radio-rich input[type=radio]:checked:disabled + label {
  background-image: linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px), radial-gradient(var(--background-disabled-grey) 3px, transparent 4px);
}

.fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__pictogram {
  background-image: linear-gradient(0deg, var(--background-disabled-grey), var(--background-disabled-grey)), linear-gradient(0deg, var(--background-disabled-grey), var(--background-disabled-grey)), linear-gradient(0deg, var(--background-disabled-grey), var(--background-disabled-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
}

.fr-fieldset--error .fr-radio-rich input[type=radio] + label {
  background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--border-plain-error) 7px, transparent 8px);
}

.fr-fieldset--error .fr-radio-rich input[type=radio]:checked + label {
  background-image: linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), radial-gradient(transparent 6px, var(--border-plain-error) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
}

.fr-fieldset--valid .fr-radio-rich input[type=radio] + label {
  background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--border-plain-success) 7px, transparent 8px);
}

.fr-fieldset--valid .fr-radio-rich input[type=radio]:checked + label {
  background-image: linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), radial-gradient(transparent 6px, var(--border-plain-success) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
}

.fr-fieldset--info .fr-radio-rich input[type=radio] + label {
  background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--border-plain-info) 7px, transparent 8px);
}

.fr-fieldset--info .fr-radio-rich input[type=radio]:checked + label {
  background-image: linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), radial-gradient(transparent 6px, var(--border-plain-info) 7px, transparent 8px), radial-gradient(var(--background-active-blue-france) 3px, transparent 4px);
}

.fr-fieldset .fr-radio-rich input[type=radio]:disabled + label {
  background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px);
}

.fr-fieldset .fr-radio-rich input[type=radio]:disabled:checked + label {
  background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), radial-gradient(transparent 6px, var(--background-disabled-grey) 7px, transparent 8px), radial-gradient(var(--background-disabled-grey) 3px, transparent 4px);
}

.fr-fieldset .fr-fieldset__content .fr-radio-group:not(.fr-radio-rich) input[type=radio] {
  top: 0.75rem;
}

.fr-fieldset .fr-fieldset__content .fr-radio-group:not(.fr-radio-rich) input[type=radio] + label {
  background-position: calc(-0.25rem + 1px) calc(0.5rem + 1px), calc(-0.25rem + 1px) calc(0.5rem + 1px);
}

.fr-fieldset .fr-fieldset__content .fr-radio-group--sm:not(.fr-radio-rich) input[type=radio] {
  top: 1rem;
}

.fr-fieldset .fr-fieldset__content .fr-radio-group--sm:not(.fr-radio-rich) input[type=radio] + label {
  background-position: calc(-0.125rem + 1px) calc(1rem - 1px), calc(-0.125rem + 1px) calc(1rem - 1px);
}

.fr-fieldset .fr-fieldset__content .fr-radio-rich {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

.fr-fieldset .fr-fieldset__content .fr-radio-rich input[type=radio] + label {
  min-height: 5.5rem;
}

.fr-fieldset .fr-fieldset__content .fr-radio-rich:last-child {
  margin-bottom: 0.75rem;
}

.fr-fieldset .fr-fieldset__content .fr-radio-rich:first-child {
  margin-top: 0;
}

.fr-fieldset--inline .fr-fieldset__content .fr-radio-rich:not(:last-child) {
  margin-right: 0.75rem;
  margin-bottom: 0.5rem;
}

.fr-fieldset--inline .fr-fieldset__content .fr-radio-rich:first-child {
  margin-top: 0.75rem;
}

.fr-fieldset--inline .fr-fieldset__content .fr-radio-rich:first-child .fr-radio-rich__img {
  top: 1rem;
}

.fr-fieldset--inline .fr-fieldset__content .fr-radio-rich__img {
  top: 0.75rem;
}

.fr-fieldset--inline .fr-hint-text + .fr-fieldset__content .fr-radio-rich:first-child {
  margin-top: 1.5rem;
}

.fr-radio-rich__img {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-left: -1px;
  padding: 0.25rem;
  width: 5.5rem;
  min-width: 5.5rem;
  align-self: stretch;
  pointer-events: none;
  background-size: 100% 1px, 100% 1px, 1px 100%, 1px calc(100% - 0.5rem);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: 0 0, 0 100%, 100% 0, 0 0.25rem;
  background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
  background-color: var(--background-default-grey);

  --idle: transparent;
  --hover: var(--background-default-grey-hover);
  --active: var(--background-default-grey-active);
}

.fr-radio-rich__img img,
.fr-radio-rich__img svg {
  max-width: 3.5rem;
  max-height: 3.5rem;
}

.fr-radio-rich input[type=radio]:not(:disabled) ~ label:hover + .fr-radio-rich__img {
  background-color: var(--hover);
}

.fr-radio-rich input[type=radio]:not(:disabled) ~ label:active + .fr-radio-rich__img {
  background-color: var(--active);
}

.fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__img svg * {
  fill: var(--text-disabled-grey);
}

.fr-radio-rich input[type=radio]:checked ~ .fr-radio-rich__img {
  background-image: linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--background-action-high-blue-france), var(--background-action-high-blue-france)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
}

.fr-radio-rich input[type=radio]:checked:disabled ~ .fr-radio-rich__img {
  background-image: linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--text-disabled-grey), var(--text-disabled-grey)), linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
}
@media (min-width: 36em) {
  /*! media sm */
}
@media (min-width: 48em) {
  /*! media md */
}
@media (min-width: 62em) {
  /*! media lg */
}
@media (min-width: 78em) {
  /*! media xl */
}
@media (-ms-high-contrast: active), (forced-colors: active) {
  .fr-radio-group input[type=radio] {
    opacity: 1;
  }

  .fr-radio-group input[type=radio]:disabled + label {
    color: graytext;
  }

  .fr-radio-group input[type=radio] + label::before {
    display: none;
  }

  .fr-radio-rich input[type=radio]:disabled + label {
    outline: 1px solid;
  }

  .fr-radio-rich input[type=radio]:disabled + label::before {
    background-color: transparent;
  }

  .fr-radio-rich input[type=radio]:disabled ~ .fr-radio-rich__pictogram {
    outline: 1px solid graytext;
  }

  .fr-radio-rich input[type=radio] + label {
    outline: 1px solid;
  }

  .fr-radio-rich__pictogram {
    outline: 1px solid;
  }

  .fr-radio-rich__img {
    outline: 1px solid;
  }
}
