/*es un selector universal el * */
* {
    box-sizing: border-box;


}

body {
    font-family: Arial, sans-serif;
    background-color: #f2f2f2;
    display: flex;
    justify-content: center;
    padding: 40px;
}

/*form>div{
--> es una orden directa al hijo antes que al padre, 
todos los hijos de form los div le aplica lo que pongas aqui dentro
por ejemplo este margin-bottom
    margin-bottom: 15px;
}
form>div:last-child{
margin-bottm: 0;
}*/

main {
    width: 100%;
    max-width: 440px;
}

form {
    background-color: #fff;
    padding: 25px 30px;
    border-radius: 8px;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);

}

label {
    display: block;
    font-size: 16px;
    margin-bottom: 6px;
}

input[type="text"],
input[type="number"],
select {
    width: 100%;
    /*ajusta el contenido el fit-content es mejor que utilizar
    el 100% por ejemplo*/
    padding: 8px;
    border: 1px solid #dadada;
    border-radius: 4px;
    margin-bottom: 18px;
    font-size: 14px;
}

input[type="color"] {
    width: 35px;
    padding: 2px;
    margin-bottom: 18px;
}

.opciones {
    margin-bottom: 20px;
}

.opciones label {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
    font-size: 14px;
}

fieldset {
    border: none;
    padding: 0px;
    margin: 0px;
}

input[type="radio"],
input[type="checkbox"] {
    accent-color: #4caf50;
    margin-right: 6px;
}

button {
    padding: 8px 22px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 10px;
    font-size: 14px;
    background-color: #4caf50;
    color: #fff;
}

button:hover {
    opacity: 0.9;
}

footer {
    text-align: center;
    padding: 1em 0;
    font-size: 0.85em;
    margin-top: auto;
}

footer img {
    width: 40px;
}

/*
input[required]:hover{
color: esto es para ponerle color a los que son requeridos al hacer hover
y tambien se puede hacer en not required
}*/