.container {
  width: 80%;
  max-width: 500px;
  margin: 40px auto;
  font-family: Arial, sans-serif;
}

form {
  display: flex;
  flex-direction: column;
}

label {
  margin-top: 15px;
}

input,
select,
textarea {
  padding: 8px;
  margin-top: 5px;
  border: 1px solid #ccc;
  font-size: 1em;
}

input:first-of-type {
  border-radius: 8px;
}

input:focus,
textarea:focus {
  border-color: #0077cc;
  outline: none;
}

input:invalid,
select:invalid,
textarea:invalid {
  border-color: red;
}

input:valid,
select:valid,
textarea:valid {
  border-color: green;
}

.radio-group {
  margin-top: 20px;
}

.radio-group input[type="radio"]:checked {
  border: 2px solid #0077cc;
  background-color: #e0f0ff;
  box-shadow: 0 0 5px #0077cc;
}

.radio-group input[type="radio"]:checked + label {
  color: #0077cc;
  font-weight: bold;
}

button {
  margin-top: 20px;
  padding: 10px;
  background-color: #0077cc;
  color: white;
  border: none;
  border-radius: 5px;
  font-size: 1em;
  cursor: pointer;
}

button:hover {
  background-color: #005fa3;
}