/* Final Login Page Style */
body { font-family: 'Poppins', sans-serif; margin: 0; height: 100vh; overflow: hidden; }
.container { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; padding: 20px; background: linear-gradient(-45deg, #6a82fb, #fc5c7d, #3494e6, #ec6ead); background-size: 400% 400%; animation: gradientBG 15s ease infinite; }
@keyframes gradientBG { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
.login-wrapper { display: flex; width: 100%; max-width: 1000px; min-height: 600px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: 20px; box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.2); border: 1px solid rgba(255, 255, 255, 0.18); overflow: hidden; }
.login-image-section { flex-basis: 50%; overflow: hidden; }
.login-image-section img { width: 100%; height: 100%; object-fit: cover; }
.login-form-section { flex-basis: 50%; display: flex; justify-content: center; align-items: center; padding: 40px; }
.form-container { width: 100%; max-width: 380px; }
.login-header { text-align: center; margin-bottom: 25px; color: #fff; }
.login-header h2 { margin: 0 0 10px; font-size: 28px; font-weight: 700; }
.login-header p { margin: 0; font-size: 16px; opacity: 0.9; }
.error-message { background-color: #ff4d4d; color: #fff; padding: 12px; border-radius: 8px; margin: 0 0 20px; text-align: center; font-size: 14px; }
.form-group label { display: block; margin-bottom: 8px; color: #fff; font-weight: 500; }
.form-group input { width: 100%; padding: 12px 15px; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 8px; box-sizing: border-box; background: rgba(255, 255, 255, 0.2); color: #fff; }
.login-button { width: 100%; padding: 14px; border: none; border-radius: 8px; background: #ffffff; color: #fc5c7d; font-size: 18px; font-weight: 600; cursor: pointer; margin-top: 10px; }
.login-footer { text-align: center; margin-top: 30px; font-size: 13px; color: rgba(255, 255, 255, 0.8); }
@media (max-width: 900px) { .login-image-section { display: none; } .login-wrapper { max-width: 450px; min-height: auto; } .login-form-section { flex-basis: 100%; } }

/* === Social Login and Divider Styles (ADD THIS AT THE END) === */

.divider {
    margin: 25px 0;
    display: flex;
    align-items: center;
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
}
.divider::before, .divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.divider:not(:empty)::before { margin-right: 1em; }
.divider:not(:empty)::after { margin-left: 1em; }

.social-login-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 25px;
}

.social-btn {
    height: 50px;
    width: 50px;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: #fff;
    font-size: 22px;
    transition: all 0.3s ease;
}

.social-btn:hover {
    background-color: rgba(255, 255, 255, 0.2);
    transform: scale(1.1);
    border-color: #fff;
}

.footer-text {
    text-align: center;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.9);
}

.footer-text a {
    color: #fff;
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.2s;
}

.footer-text a:hover {
    color: #ffc107; /* A highlight color */
}