/* Provider marks keep their brand colors; layout and type follow the tenant. */
.social-auth { margin-block: 1.25rem; }
.social-auth-intro, .social-auth-help {
    color: var(--brand-medium);
    font-family: var(--font-body);
    font-size: .875rem;
    line-height: 1.6;
    margin-block: .75rem;
}
.social-auth-options, .social-auth-completion { display: grid; gap: .75rem; }
.social-auth-options form { margin: 0; }
.auth-card .social-auth-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    width: 100%;
    min-height: 48px;
    padding: .75rem 1rem;
    border: 1px solid var(--brand-medium);
    border-radius: var(--tenant-radius-md, var(--auth-radius-md));
    background: #fff;
    color: var(--brand-dark);
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    cursor: pointer;
    box-shadow: none;
    transform: none;
}
.social-auth-button svg, .social-auth-linked svg { flex: 0 0 20px; }
.auth-card .social-auth-button:hover { background: var(--brand-light-bg); box-shadow: none; transform: none; }
.auth-card .social-auth-button:focus-visible, .social-auth-terms input:focus-visible {
    outline: 3px solid var(--brand-navy);
    outline-offset: 3px;
}
.auth-card .social-auth-button:disabled { cursor: wait; opacity: .7; }
.social-auth-divider { display: flex; align-items: center; gap: 1rem; margin-block: 1.25rem; color: var(--brand-medium); font-size: .875rem; }
.social-auth-divider::before, .social-auth-divider::after { content: ""; height: 1px; flex: 1; background: var(--brand-medium); opacity: .25; }
.social-auth-status:empty { display: none; }
.social-auth-status { color: var(--brand-medium); font-size: .875rem; margin-top: .75rem; }
.social-auth-page { justify-content: center; font-family: var(--font-body); }
.social-auth-card { width: 100%; max-width: 30rem; }
.social-auth-card h1 { font-family: var(--font-display); color: var(--brand-dark); font-size: clamp(1.6rem, 5vw, 2rem); line-height: 1.2; margin-block: .75rem; }
.social-auth-card .auth-card-subtitle { margin-bottom: 1.5rem; }
.social-auth-card a:not(.auth-button) { text-decoration: underline; text-underline-offset: .2em; }
.social-auth-card .auth-button { display: flex; justify-content: center; align-items: center; min-height: 48px; width: 100%; }
.social-auth-terms { display: flex; align-items: flex-start; gap: .75rem; line-height: 1.5; color: var(--brand-dark); }
.social-auth-terms label { cursor: pointer; }
.social-auth-terms input { width: 1.25rem; height: 1.25rem; margin-top: .15rem; flex-shrink: 0; accent-color: var(--brand-navy); }
.social-auth-completion .auth-input:disabled { opacity: 1; color: var(--brand-dark); background: var(--brand-light-bg); }
.social-auth-linked { display: flex; align-items: center; gap: .75rem; min-height: 48px; margin: 0; }
.social-auth-badge { margin-left: auto; color: var(--brand-medium); font-size: .875rem; }
/* Put the action first on phones so visitors do not scroll past the promo panel. */
@media (max-width: 1023px) {
    .auth-shell:has(.social-auth) .auth-card { order: -1; }
}
