.acceso-container 
{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem 1rem;
    min-height: calc(100vh - 200px);
}

.formulario-acceso 
{
    background: #ffffff;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    width: 100%;
    max-width: 400px;
    text-align: center;
}

.formulario-acceso h2 
{
    margin-bottom: 1.5rem;
    color: #333;
}

.grupo-input 
{
    margin-bottom: 1rem;
    text-align: left;
}

.grupo-input label 
{
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #555;
}

.grupo-input label i 
{
    margin-right: 0.5rem;
    color: #000000;
}

.grupo-input input 
{
    width: 100%;
    padding: 0.8rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1rem;
}

.btn-acceso 
{
    background: #000000;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 0.8rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    width: 100%;
    cursor: pointer;
    transition: background 0.3s;
}

.btn-acceso:hover 
{
    background: #333;
}

.opciones-adicionales 
{
    display: flex;
    justify-content: space-between; /* Login: Uno a cada lado */
    align-items: center;
    margin-top: 1rem;
    font-size: 0.9rem;
    width: 100%;
}

/* CLASE MODIFICADORA: Para Recuperar y Registro */
.opciones-adicionales.centrar 
{
    justify-content: center;
    gap: 1rem; /* Agregamos espacio entre el texto y el enlace cuando están centrados */
}

.opciones-adicionales a 
{
    color: #000000;
    text-decoration: none;
}

.opciones-adicionales a:hover 
{
    text-decoration: underline;
}


.separador 
{
    margin: 1.5rem 0;
    display: flex;
    align-items: center;
    text-align: center;
    color: #aaa;
}

.separador::before,
.separador::after 
{
    content: '';
    flex: 1;
    border-bottom: 1px solid #ddd;
}

.separador:not(:empty)::before { margin-right: .25em; }
.separador:not(:empty)::after { margin-left: .25em; }

.social-login 
{
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.social-btn 
{
    border: 1px solid #ddd;
    background: #ffffff;
    color: #555;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    cursor: pointer;
    transition: all 0.3s;
}

.social-btn:hover 
{
    transform: translateY(-2px);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.social-btn.google svg path { fill: #555; }
.social-btn.microsoft svg rect { fill: #555; }

.social-btn.google:hover svg path:nth-child(1) { fill: #4285F4; }
.social-btn.google:hover svg path:nth-child(2) { fill: #34A853; }
.social-btn.google:hover svg path:nth-child(3) { fill: #FBBC05; }
.social-btn.google:hover svg path:nth-child(4) { fill: #EA4335; }
.social-btn.facebook:hover { color: #4267B2; }
.social-btn.microsoft:hover svg rect:nth-child(1) { fill: #F25022; }
.social-btn.microsoft:hover svg rect:nth-child(2) { fill: #7FBA00; }
.social-btn.microsoft:hover svg rect:nth-child(3) { fill: #00A4EF; }
.social-btn.microsoft:hover svg rect:nth-child(4) { fill: #FFB900; }