body{
    font-family:Arial, Helvetica, sans-serif;
    background:#e9e9e9;
    margin:0;
    padding:0;
}

.container{
    max-width:950px;
    margin:40px auto;
    background:#21325c;
    padding:40px;
    border-radius:15px;
    box-shadow:0 5px 25px rgba(0,0,0,.25);
}

.logo{
    display:block;
    margin:0 auto 25px auto;
    width:230px;
    height:auto;
}

h1{
    text-align:center;
    color:#fff;
    font-size:34px;
    margin-bottom:35px;
    line-height:1.2;
}

.grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

label{
    display:block;
    margin-bottom:8px;
    font-weight:bold;
    color:#fff;
}

input:not([type="checkbox"]),
select,
textarea{
    width:100%;
    padding:13px;
    border:none;
    border-radius:8px;
    box-sizing:border-box;
    font-size:15px;
    color:#21325c;
    background:#fff;
}

input:focus,
select:focus,
textarea:focus{
    outline:3px solid #8fa9d8;
}

textarea{
    min-height:90px;
    resize:vertical;
    margin-bottom:18px;
}

/*************************************************/
/*************** BLOQUE LEGAL ********************/
/*************************************************/

.check-box{

    margin-top:35px;

    padding:30px;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.25);

    border-radius:12px;

}

.check-box h3{

    color:#fff;

    margin:0 0 25px 0;

    font-size:22px;

    font-weight:bold;

}

.check-item-legal{

    display:flex;

    align-items:flex-start;

    gap:18px;

    margin:0;

}

.check-item-legal input[type="checkbox"]{

    width:22px;

    height:22px;

    margin-top:4px;

    flex:0 0 22px;

    cursor:pointer;

    accent-color:#ffffff;

}

.texto-aceptacion{

    flex:1;

    color:#ffffff;

    font-size:15px;

    line-height:1.75;

    text-align:justify;

}

.texto-aceptacion a{

    color:#ffffff;

    font-weight:bold;

    text-decoration:underline;

}

.texto-aceptacion strong{

    color:#ffffff;

}

/*************************************************/
/********************* BOTÓN **********************/
/*************************************************/

button{

    width:100%;

    margin-top:35px;

    background:#ffffff;

    color:#21325c;

    border:none;

    border-radius:10px;

    padding:16px;

    font-size:18px;

    font-weight:bold;

    cursor:pointer;

    transition:.25s;

}

button:hover{

    background:#dfe7f5;

}

button:disabled{

    opacity:.75;

    cursor:not-allowed;

}

/*************************************************/
/******************** MÓVIL ***********************/
/*************************************************/

@media (max-width:700px){

    .container{

        margin:0;

        border-radius:0;

        padding:25px;

    }

    .grid{

        grid-template-columns:1fr;

    }

    h1{

        font-size:28px;

    }

    .check-box{

        padding:20px;

    }

    .texto-aceptacion{

        text-align:left;

        font-size:14px;

        line-height:1.6;

    }

}