/* RESET */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family: Arial, Helvetica, sans-serif;
}

/* FONDO */
body{
    min-height:0;
    height:90vh;
    display:flex;
    justify-content:center;
    align-items:center;

    background: linear-gradient(
        135deg,
        #0f7d00 0%,
        #2da100 40%,
        #ffffff 100%

    );

    padding:20px;
}

/* CONTENEDOR */
.contenedor-login{
    width:100%;
    display:flex;
    justify-content:center;
}

/* TARJETA */
.card-login{
    width:100%;
    max-width:700px;
    background:#ffffff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0px 10px 30px rgba(0,0,0,.30);
}

/* ENCABEZADO */
.header{
    width:100%;
}

.header img{
    width:100%;
    display:block;
}

/* TITULO */
.titulo{
    text-align:center;
    padding:25px 20px;
}

.titulo h2{
    color:#0f7d00;
    font-size:32px;
    margin-bottom:5px;
}

.titulo p{
    color:#c40000;
    font-weight:bold;
}

/* FORMULARIO */
form{
    padding:20px 40px 40px;
}

.grupo{
    margin-bottom:20px;

}

.grupo label{
    display:block;
    margin-bottom:8px;
    color:#333;
    font-weight:bold;
    text-align: center;
    font-size:28px;
}

.grupo input{
    width:100%;
    padding:14px;
    border:2px solid #d9d9d9;
    border-radius:10px;
    font-size:30px;
    transition:0.3s;
}

.grupo input:focus{
    border-color:#0f7d00;
    outline:none;
    box-shadow:0 0 8px rgba(15,125,0,.3);
}

/* BOTON */
button{
    width:100%;
    padding:15px;
    border:none;
    border-radius:10px;

    background:linear-gradient(
        90deg,
        #0f7d00,
        #29a000
    );

    color:white;
    font-size:18px;
    font-weight:bold;
    cursor:pointer;
    transition:0.3s;
}

button:hover{
    background:linear-gradient(
        90deg,
        #c40000,
        #ff0000
    );
}

/* ENLACES */
.enlaces{
    text-align:center;
    margin-top:15px;
}

.enlaces a{
    text-decoration:none;
    color:#c40000;
    font-weight:bold;
}

.enlaces a:hover{
    color:#0f7d00;
}

/* RESPONSIVE */
@media(max-width:768px){

    .card-login{
        max-width:100%;
    }

    form{
        padding:20px;
    }

    .titulo h2{
        font-size:26px;
    }
}

@media(max-width:480px){

    .titulo h2{
        font-size:22px;
    }

    .grupo input{
        padding:12px;
    }

    button{
        padding:12px;
        font-size:16px;
    }
}