:root {
  --green200: hsl(148, 38%, 91%);
  --green600: hsl(169, 82%, 27%); 
  --red: hsl(0, 66%, 54%);
  --white: hsl(0, 0%, 100%);
  --grey500: hsl(186, 15%, 59%);
  --grey900: hsl(187, 24%, 22%);
}

body {
  font-family: "Karla", sans-serif;
  background-color: var(--green200);
  padding: 2rem;
}

.container {
  max-width: 600px;
  margin: 5rem 20rem;
  background: var(--white);
  padding: 2rem;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0);
}

form {
  display: flex;
  flex-direction: column;
}

label {
  font-weight: 400;
  margin-top: 1rem;
}

label span {
  color: var(--green600);
  margin-left: 3px;
}

input[type="text"],
input[type="email"],
textarea {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border-radius: 5px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

/* Layout en fila */
.row {
  display: flex;
  gap: 1rem;
}

.half {
  width: 100%;
}

/* Radios visibles y alineados */
.radio-visible {
  font-weight:400;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 2px solid #ccc;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-sizing: border-box;
  width: 100%;
}

.row .half {
  flex: 1; 
}

.radio-visible input[type="radio"] {
 accent-color: #007bff;
  width: 18px;
  height: 18px;
  margin: 0;
  flex-shrink: 0;
}

.radio-visible span {
 flex: 1; 
}

.radio-visible:hover {
  border-color: #007bff;
}

fieldset {
  border: none;
  margin-top: 1.5rem;
  padding: 0%;
}

legend {
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.checkbox {
  margin-top: 1.5rem;
  font-weight: normal;
  display: flex;
  align-items: center;
  gap: 10px;
}
.checkbox span {
  margin-left: 3px;
}

/* Botón submit */
button {
  margin-top: 2rem;
  padding: 12px;
  background: var(--green600);
  color: white;
  border: none;
  border-radius: 5px;
  font-weight: bold;
  cursor: pointer;
}

@media (max-width: 480px) {
  .container {
    margin: 2rem 1rem; 
    padding: 1.5rem;
  }

  .row {
    flex-direction: column;
  }

  .half {
    width: 100%;
  }

  .radio-visible {
    width: 100%;
    margin-bottom: 10px;
  }
}

@media (min-width: 1024px) {
  .container {
    margin: 5rem 20rem; 
    padding: 2rem;
  }
}