body {
    display: grid;
    width: 100%;
    margin: 0;
    padding: 20px;
    min-height: 100vh;
    font-family: Arial, Helvetica, sans-serif;
    background-color: whitesmoke;
}

img {
    width: 100%;
    height: auto;
}

.titulo {
    font-size: 48px;
    font-weight: bold;
    align-content: center;
    justify-content: center;
}

#principal {
    justify-content: center;
    display: grid;
    grid-template-columns: 140px auto;
    background-color: lightgrey;
    padding: 20px 10px;
}

#subtitulo {
    display: grid;
    grid-template-areas: 'subtitulo subtitulo subtitulo'
        'datos preferencias suscripcion';

}

h2,
h3 {
    text-align: center;
    justify-items: center;
    align-items: center;
}

h2 {
    grid-area: subtitulo;
    color: rgb(0, 174, 255);
    font-size: 36px;
}

h3:nth-child(2) {
    grid-area: datos;
}

h3::before,
 legend::before {
    display: flex;
    background-color: red;
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    font-size: 35px;
    font-family: arial;
}

h3:nth-child(2)::before,
#datos legend::before {
    content: '1';
}

/* h3:nth-child(2)::before {
    content: '1';
} */

h3:nth-child(3) {
    grid-area: preferencias;
}

h3:nth-child(3)::before, #preferencias legend::before{
    content: '2';

}

h3:nth-child(4) {
    grid-area: suscripcion;
}
h3:nth-child(4)::before, #preferencias, #suscripcion legend::before{
    content: '3';

}

/* h3:nth-child(4)::before {
    content: '3';

} */
.preferencias{
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 2rem;

}
input::placeholder {
    color: rgb(249, 103, 195);
    opacity: 0.5;
  }

/* .punto-uno::before {
    content: '1';
    display: flex;
    background-color: red;
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    font-size: 35px;

} */

/* #datos{
    display: inline;
    align-items: center;
    padding: 20px;
    gap: 20px;
} */

legend {
    display: inline-flex;
    align-items: center;
    gap: 20px;
}


.rojo {
    color: red;
}

main {
    width: 992px;
    margin: auto;
}

.texto-tit-cajas {
    font-size: 22px;
    font-weight: 600;
}

.texto-p-cajas {
    font-size: 16px;

}

.formulario {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 2rem;
}

.columna-izquierda,
.columna-derecha {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.texto-area {
    width: 100%;
    height: auto;
}

fieldset#datos, #preferencias, #suscripcion {
    border-radius: 7px;
}
.borde{
    border: #999 2px solid;
    padding: 20px;
}




.obligatorio {
    color: red;
    font-size: 36px;
}

form {
    /* Centrar el formulario en la página */
    margin: 0 auto;
    width: 900px;
    /* Esquema del formulario */
    padding: 1em;
    /* border: 1px solid #ccc; */
    border-radius: 1em;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

form li+li {
    margin-top: 1em;
}


input,
textarea {
    /* Para asegurarse de que todos los campos de texto tienen la misma configuración de letra
       Por defecto, las áreas de texto tienen un tipo de letra monoespaciada */
    font: 16px sans-serif;
    font-style: italic;
    background-color: #9999994d;

    /* Tamaño uniforme del campo de texto */
    /* width: 300px; */
    box-sizing: border-box;

    /* Hacer coincidir los bordes del campo del formulario */
    border: 1px solid #999;
}

input:focus,
textarea:focus {
    /* Destacado adicional para elementos que tienen el cursor */
    border-color: #000;
}

textarea {
    /* Alinear los campos de texto multilínea con sus etiquetas */
    vertical-align: top;

    /* Proporcionar espacio para escribir texto */
    height: 5em;
}



button {
    /* Este margen adicional representa aproximadamente el mismo espacio que el espacio
       entre las etiquetas y sus campos de texto */
    margin-left: 0.5em;
    border: none;
    padding: 10px;
    cursor: pointer;
}

button[type='submit'] {
    background-color: pink;
}

button[type='reset'] {
    background-color: green;
}

