/* Shared provider controls: preserve the original brand colors and align the form. */
.auth-providers { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.auth-google-form { width: 100%; margin: 0; }
.auth-provider {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 12px 40px;
    border: 1px solid transparent;
    border-radius: 4px;
    font: 500 15px/22px Arial, sans-serif;
    text-align: center;
    text-decoration: none;
    text-shadow: none;
    box-shadow: none;
    cursor: pointer;
}
.auth-google { background: #f2f2f2; border-color: #e2e2e2; color: #252525; }
.auth-linkedin { background: #4377b2; color: #fff; }
.auth-twitter { background: #55acee; color: #fff; }
.auth-provider:hover { filter: brightness(.97); text-decoration: none; }
.auth-google:hover { color: #252525; }
.auth-linkedin:hover, .auth-twitter:hover { color: #fff; }
.auth-provider:focus-visible { outline: 2px solid #245bb8; outline-offset: 3px; }
.auth-provider img, .auth-provider .fa {
    position: absolute;
    left: 16px;
    top: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0;
    font-size: 20px;
    line-height: 20px;
    text-align: center;
}
.auth-divider { display: flex; align-items: center; gap: 14px; margin: 22px 0; color: #777; font: 400 13px/20px Arial, sans-serif; }
.auth-divider:before, .auth-divider:after { content: ''; flex: 1; height: 1px; background: #e7e7e7; }
.single-column.auth-page { width: 320px; max-width: calc(100% - 40px); margin: 44px auto; }
.auth-page h1 { font-size: 30px; line-height: 1.3; margin-bottom: 28px; }
.auth-page .login-signup { margin-top: 0; }
.auth-page .login-signup fieldset input:not([type=hidden]):not([type=checkbox]) {
    box-sizing: border-box; width: 100%; height: 48px; padding: 12px;
    border: 1px solid #ccc; border-radius: 4px; box-shadow: none; font-size: 15px;
}
.auth-page .login-signup fieldset .btn-submit { width: 100% !important; height: 48px !important; }
.signup-sect.signup-sect2.refined-signup { width: calc(100% - 32px); max-width: 384px; }
.refined-signup h1 { width: 600px; margin-left: -108px; }
.signup-auth-options { width: 320px; max-width: calc(100% - 40px); margin: 30px auto 0; }
.signup-auth-options + .login-signup { margin-top: 0; border-right: 0; }
.signup-auth-options + .login-signup fieldset { width: 320px; min-width: 0; max-width: calc(100% - 40px); margin: 0 auto; }
.signup-auth-options + .login-signup fieldset input:not([type=hidden]):not([type=checkbox]),
.signup-auth-options + .login-signup fieldset select {
    box-sizing: border-box; width: 100%; height: 48px; border-radius: 4px; box-shadow: none;
}
.signup-auth-options + .login-signup p.smalltext { width: 100%; }
.signup-auth-options + .login-signup #submit-button { margin-bottom: 16px; }
@media (max-width: 640px) {
    .signup-sect.refined-signup h1 { width: auto; margin-left: 0; font-size: 30px; line-height: 1.3; }
    .auth-provider { font-size: 14px; }
}
