.radio-group
{
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  /* margin: 24px 0; */
}

.radio-option
{
  position: relative;
  flex: 1 1 300px;
}

.radio-option input
{
  position: absolute;
  opacity: 0;
}

.radio-label
{
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: white;
}

.radio-label:hover
{
  border-color: #4895ef;
  transform: translateY(-2px);
}

.radio-option input:checked + .radio-label
{
  border-color: #4361ee;
  background-color: rgba(67, 97, 238, 0.05);
}

.radio-option input:focus + .radio-label
{
  box-shadow: 0 0 0 3px rgba(72, 149, 239, 0.2);
}

.custom-radio
{
  display: none;
  width: 20px;
  height: 20px;
  border: 2px solid #adb5bd;
  border-radius: 50%;
  margin-right: 12px;
  position: relative;
  transition: all 0.3s ease;
}

.radio-option input:checked + .radio-label .custom-radio
{
  border-color: #4361ee;
}

.custom-radio::after
{
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 10px;
  height: 10px;
  background-color: #4361ee;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.radio-option input:checked + .radio-label .custom-radio::after
{
  transform: translate(-50%, -50%) scale(1);
}

.option-title
{
  font-weight: 600;
  color: #212529;
}

.option-description
{
  font-size: 14px;
  color: #6c757d;
  margin-top: 4px;
}