.form-group.radio-button-group {
  display: inline-flex;        /* side-by-side */
  gap: 10px;                   /* space between buttons */
}



.form-group.radio-button-group label {
  position: relative;
  cursor: pointer;
  user-select: none;
  border: 2px solid #ccc;
  border-radius: 6px;
  padding: 10px 25px;
  font-size: 16px;
  color: #555;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 70px;
}

/* Hide the native radio button */
.form-group.radio-button-group input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0); /* hide visually */
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
  border: 0;
}

/* .form-group.radio-button-group input[type="radio"]:focus + span {
  outline: none; //can be something else to benefit from offset below
  outline-offset: 2px;
} */

.form-group.radio-button-group label:has(input[type="radio"]:focus) {
  box-shadow: 0 0 5px 2px #51cbce;
  border-color: #51cbce;
}

/* Checked state styles */
.form-group.radio-button-group input[type="radio"]:checked + span {
  color: #2a8bf2;
  font-weight: 600;
}


.form-group.radio-button-group input[type="radio"]:checked + span {
  color: #2a8bf2;
}



/* Instead, we style label with :has() selector for modern browsers: */
.form-group.radio-button-group label:has(input[type="radio"]:checked) {
  border-color: #2a8bf2;
  background-color: #e6f0ff;
  color: #2a8bf2;
  font-weight: 600;
}

/* Hover state */
.form-group.radio-button-group label:hover {
  border-color: #2a8bf2;
  color: #2a8bf2;
}

.radio-button-group {
  display: flex;
  flex-wrap: wrap; /* allows wrapping on smaller screens */
  gap: 10px; /* space between buttons */
}



@media (max-width: 600px) {
  .radio-button-group {
    flex-direction: column;
    align-items: flex-start;
  }

  .radio-button-group label {
    width: 100%;
  }
}