/* Reusable QRSS radio appearance (22px control, 13px inner dot). Use wrapper .qrss-radio on .form-check. */

.qrss-radio.form-check {
  align-items: center;
  display: inline-flex;
  flex-direction: row;
  gap: 8px;
  margin-bottom: 8px;
  margin-right: 1rem;
  margin-top: 8px;
  padding-left: 0;
}

/* Bootstrap / DS float + 1em sizing can overlap the label; reset so ( ) Yes ( ) No stays inline. */
.qrss-radio .form-check-input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--qrss-white);
  border: 2px solid var(--qrss-dark-grey);
  border-radius: 50%;
  cursor: pointer;
  flex: 0 0 22px;
  float: none;
  height: 22px;
  margin: 0;
  max-height: 22px;
  max-width: 22px;
  min-height: 22px;
  min-width: 22px;
  position: relative;
  vertical-align: middle;
  width: 22px;
}

.qrss-radio .form-check-input[type="radio"]:checked,
.qrss-radio .form-check-input:checked[type="radio"] {
  background-color: var(--qrss-white);
  background-image: radial-gradient(
    circle at center,
    var(--qrss-dark-grey) 0,
    var(--qrss-dark-grey) 6.5px,
    transparent 6.5px
  );
  border-color: var(--qrss-dark-grey);
}

.qrss-radio .form-check-input[type="radio"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(65, 65, 65, 0.25);
  outline: none;
}

.qrss-radio .form-check-input[type="radio"]:focus:not(:focus-visible) {
  box-shadow: none;
}

.qrss-radio .form-check-label {
  color: var(--qrss-dark-grey);
  cursor: pointer;
  flex: 0 1 auto;
  line-height: 22px;
  margin-bottom: 0;
  padding-left: 0;
}

/* Design system draws a second “radio” on the label via pseudo-elements; we only use the real input. */
.qrss-radio .form-check-label::before,
.qrss-radio .form-check-label::after {
  content: none !important;
  display: none !important;
}
