/* efectos por defecto */
body {
    font-family: 'Overpass', sans-serif;
    font-weight: normal;
    font-size: 100%;
    color: #1b262c;
    
    margin: 0;
    background-color: #fe8304;
}

/* efectos para el contenedor de pantalla completa */
#contenedor {
    display: flex;
    align-items: center;
    justify-content: center;
    
    margin: 0;
    padding: 0;
    min-width: 100vw;
    min-height: 100vh;
    width: 100%;
    height: 100%;
    
 
    background-position: center;
    background-size: cover;
}

/* contenedor del login a la izquierda */
#contenedorcentrado {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction:row;
    
    min-width: 380px;
    max-width: 900px;
    width: 90%;    
/*     background-color: #8363c6;*/ 
    background-color: #fff;

    border-radius: 10px 10px 10px 10px;
    -moz-border-radius: 10px 10px 10px 10px;
    -webkit-border-radius: 10px 10px 10px 10px;
    
    -webkit-box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.15);
    -moz-box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.15);
    box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.15);
    
    padding: 30px;
    box-sizing: border-box;
}

/* formulario de login */
/* formulario de login */
#login {
    width: 100%;
    max-width: 320px;
    min-width: 320px;
    padding: 30px 30px 50px 30px;
    background-color: #8363c6;
    
    -webkit-box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.15);
    -moz-box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.15);
    box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.15);
    
    border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px 3px 3px 3px;
    -webkit-border-radius: 3px 3px 3px 3px;
    
    box-sizing: border-box;
    
    opacity: 1;
    filter: alpha(opacity=1);
}

#login label {
    display: block;
    font-family: 'Overpass', sans-serif;
    font-size: 120%;
    color:#3c4245;
    
    margin-top: 15px;
}

#login input {
    font-family: 'Overpass', sans-serif;
    font-size: 110%;
    color: #1b262c;
    
    display: block;
    width: 100%;
    height: 40px;
    
    margin-bottom: 10px;
    padding: 5px 5px 5px 10px;
    
    box-sizing: border-box;
    
    border: none;
    border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px 3px 3px 3px;
    -webkit-border-radius: 3px 3px 3px 3px;
}

#login input::placeholder {
    font-family: 'Overpass', sans-serif;
    color: #E4E4E4;
}

#login button {
    font-family: 'Overpass', sans-serif;
    font-size: 110%;
    color:#1b262c;
    width: 100%;
    height: 40px;
    border: none;
    
    border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px 3px 3px 3px;
    -webkit-border-radius: 3px 3px 3px 3px;
    
    background-color: #fe8304;
    
    margin-top: 10px;
}

#login button:hover {
    background-color: #3c4245;
    color:#dfcdc3;
}
 
#derecho {
   
    text-align: center;
    width: 100%;
    padding:20px 20px 20px 50px;
    box-sizing: border-box;
}

.version { 	
	color:#8363c6; 
}

.titulo {
    font-size: 300%;
    color:#8363c6;
}

.logo-empresa img {
    width: 60%;
}

hr {
    border-top: 1px solid #8c8b8b;
	border-bottom: 1px solid #dfcdc3;
    
}
.pie-form {
    font-size: 90%;
    text-align: center;    
    margin-top: 15px;
}

.pie-form a {
    display: block;
    text-decoration: none;
    color: #dfcdc3;
    margin-bottom: 3px;
}

.pie-form a:hover {
    color: #719192;
}
/* seccion de la derecha */
/* seccion de la derecha */

/* ajustar a pantallas con ancho menor o igual a 775px; */
/* ajustar a pantallas con ancho menor o igual a 775px; */
@media all and (max-width: 775px)
{
    #contenedorcentrado {
        flex-direction:column-reverse;

        min-width: 380px;
        max-width: 900px;
        width: 90%;
        background-color: #fff;
        /*background-color: #fe8304;*/

        /*opacity: 0.50;
        filter: alpha(opacity=50);*/

        border-radius: 10px 10px 10px 10px;
        -moz-border-radius: 10px 10px 10px 10px;
        -webkit-border-radius: 10px 10px 10px 10px;

        -webkit-box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.15);
        -moz-box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.15);
        box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.15);

        padding: 30px;
        box-sizing: border-box;
    }
    
    #login {
        margin: 0 auto;
    }
    
    #derecho {
        padding:20px 20px 20px 20px;
    }
    
    #login label {
        text-align: left;
    }
}
.cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 15px;
    margin-top: 20px;
}

.card-plataforma {
    position: relative;
    display: block;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.card-plataforma img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.card-plataforma .overlay {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: rgba(131, 99, 198, 0.85);
    color: #fff;
    text-align: center;
    padding: 8px;
    font-size: 90%;
    transition: background 0.3s ease;
}

/* Hover effect */
.card-plataforma:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

.card-plataforma:hover .overlay {
    background: rgba(254, 131, 4, 0.9);
}

/* Responsive ajuste */
@media (max-width: 480px) {
    .card-plataforma img {
        height: 120px;
    }
}