/**
 * Social Login Button Styles
 * Beautiful Google and Facebook sign-in buttons
 */

/* Social Login Divider */
.social-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 24px 0;
    color: #718096;
    font-size: 14px;
    font-weight: 500;
}

.social-divider::before,
.social-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #e2e8f0;
}

.social-divider span {
    padding: 0 16px;
}

/* Social Login Buttons Container */
.social-login-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 20px 0;
}

/* Base Social Button */
.google-signin-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 14px 24px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    background: white;
    color: #2d3748;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.google-signin-btn:hover {
    border-color: #cbd5e0;
    background: #f7fafc;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.google-signin-btn:active {
    transform: translateY(0);
}

.google-signin-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Google Button Specific */
.google-signin-btn {
    border-color: #dadce0;
    color: #3c4043;
    font-family: 'Google Sans', 'Roboto', 'Helvetica Neue', sans-serif;
    font-weight: 500;
}

.google-signin-btn:hover {
    background-color: #f7fafe;
    border-color: #d2e3fc;
    color: #174ea6;
    /* Google Blue - Darker */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.google-signin-btn:active {
    background-color: #f1f3f4;
    transform: translateY(0);
}

/* Google Icon */
.google-signin-btn .fab {
    font-size: 18px;
    background: conic-gradient(from -45deg, #ea4335 110deg, #4285f4 90deg 180deg, #34a853 180deg 270deg, #fbbc05 270deg) 73% 55%/150% 150% no-repeat;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    /* Fallback for browsers that don't support background-clip: text */
    /* color: #ea4335; */
}

/* Fallback for if the gradient text trick doesn't work well on all font awesome versions, just use blue */
@supports not (background-clip: text) {
    .google-signin-btn .fab {
        background: none;
        color: #4285f4;
    }
}

/* Facebook Button (for future use) */
.facebook-signin-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 14px 24px;
    border: 2px solid #1877f2;
    border-radius: 10px;
    background: white;
    color: #2d3748;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.facebook-signin-btn:hover {
    background: #1877f2;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(24, 119, 242, 0.3);
}

.facebook-signin-btn .fab {
    font-size: 20px;
    color: #1877f2;
    transition: color 0.3s ease;
}

.facebook-signin-btn:hover .fab {
    color: white;
}

/* Loading State */
.google-signin-btn.loading,
.facebook-signin-btn.loading {
    pointer-events: none;
}

.google-signin-btn.loading .fab,
.facebook-signin-btn.loading .fab {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Mobile Responsive */
@media (max-width: 480px) {

    .google-signin-btn,
    .facebook-signin-btn {
        padding: 12px 20px;
        font-size: 14px;
    }

    .social-divider {
        margin: 20px 0;
        font-size: 13px;
    }
}

/* Success Animation */
.social-signin-success {
    animation: successPulse 0.6s ease-out;
}

@keyframes successPulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}