/* ============ SOCIAL LOGIN BUTTONS ============ */

.social-login-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0 16px;
}

.social-login-divider::before,
.social-login-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--color-gray-200);
}

.social-login-divider span {
    color: var(--color-gray-400);
    font-size: var(--text-xs);
    white-space: nowrap;
}

.social-login-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Holder for Google's own rendered "Continue with Google" button.
   Google draws an iframe inside; we centre it and let it span the row so
   it lines up with the Apple/Facebook buttons below it. */
.google-signin-render {
    display: flex;
    justify-content: center;
    width: 100%;
}
.google-signin-render > div,
.google-signin-render iframe {
    margin: 0 auto !important;
}

.social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 11px 16px;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius-lg);
    background: var(--color-white);
    color: var(--color-gray-700);
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition-fast);
    font-family: var(--font-sans);
}

.social-btn:hover {
    background: var(--color-gray-50);
    border-color: var(--color-gray-300);
    box-shadow: var(--shadow-sm);
}

.social-btn:active {
    transform: translateY(0);
    box-shadow: none;
}

.social-btn i {
    font-size: 18px;
    width: 20px;
    text-align: center;
}

/* Brand-specific colors */

.social-btn--google i { color: #4285F4; }
.social-btn--google:hover {
    border-color: #4285F4;
    background: #f8faff;
}

.social-btn--apple i { color: #000; }
.social-btn--apple:hover {
    border-color: #333;
    background: #f5f5f7;
}

.social-btn--facebook i { color: #1877F2; }
.social-btn--facebook:hover {
    border-color: #1877F2;
    background: #f0f5ff;
}

.social-btn--phone i { color: var(--color-success); }
.social-btn--phone:hover {
    border-color: var(--color-success);
    background: var(--color-success-light);
}

/* Phone OTP form (shown on login pages when Phone button clicked) */

.phone-login-form {
    display: none;
    margin-top: 12px;
    padding: 16px;
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius-lg);
}

.phone-login-form.active {
    display: block;
}

.phone-login-form .form-group {
    margin-bottom: 12px;
}

.phone-login-form .form-group:last-child {
    margin-bottom: 0;
}

.phone-login-form label {
    display: block;
    margin-bottom: 4px;
    font-size: var(--text-xs);
    color: var(--color-gray-600);
}

.phone-login-form .input-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
}

.phone-prefix {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px 10px;
    background: var(--color-white);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius) 0 0 var(--border-radius);
    font-size: var(--text-sm);
    color: var(--color-gray-700);
    white-space: nowrap;
    font-weight: 500;
}

.phone-prefix img {
    width: 20px;
    height: 15px;
    border-radius: 2px;
}

.phone-login-form .input-wrapper input {
    flex: 1;
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
}

.phone-login-form .btn {
    margin-top: 12px;
}

.phone-login-hint {
    margin-top: 8px;
    font-size: var(--text-xs);
    color: var(--color-gray-400);
    text-align: center;
}
