/* ESTRUCTURA GENERAL */
body {
    width: 80%;
    margin: auto;
    font-family: sans-serif;
}

.titulo {
    background-color: #2c3e50; /* Un color oscuro para que resalte el texto */
    color: white;
    text-align: center;
    padding: 20px;
}

.contenedor {
    display: flex;
    justify-content: center;
    width: 100%;
    background-color: black;
}

.contenido {
    flex: 1; /* Esto garantiza que ambos lados sean del mismo tamaño */
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* ESTILOS DE ETIQUETAS E INPUTS */
.contenido label {
    display: block;
    text-align: center;
    margin-top: 15px;
    font-size: 1.5rem;
    font-weight: bold;
}

.contenido input:not([type="radio"]) {
    display: block;
    text-align: center;
    width: 80%; /* Ocupa el 80% de su mitad para que se vea uniforme */
    padding: 10px;
    box-sizing: border-box;
    border: 2px solid black;
    font-size: 1rem;
    transition: 0.3s;
}

/* VALIDACIÓN VISUAL (LO QUE PEDISTE) */
input:focus {
    outline: none;
}

:is(input):invalid {
    border: 3px solid red;
    background-color: white;
    background-image: url('../img/wrong.png');
    background-position: calc(100% - 10px) center; /* Icono a la derecha con margen */
    background-repeat: no-repeat;
    background-size: 20px;
}

:is(input):valid {
    border: 3px solid green;
    background-color: white;
    background-image: url('../img/check.png');
    background-position: calc(100% - 10px) center; /* Icono a la derecha con margen */
    background-repeat: no-repeat;
    background-size: 20px;
}

/* AJUSTE PARA RADIOS (HOMBRE/MUJER) */
.grupo-radio {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    width: 100%;
}

.opcion-sexo {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.opcion-sexo label {
    margin-bottom: 5px;
    font-size: 1.2rem;
}

input[type=radio] {
    width: 25px;
    height: 25px;
    cursor: pointer;
}

/* COLORES DE FONDO */
#fondo { background-color: aqua; }
#fondo1 { background-color: rgb(89, 38, 209); color: white; }

footer {
    background-color: white;
    padding: 20px;
    border-top: 2px solid black;
}