/* Google sign-in stays outside the password form/CAPTCHA. Underscore filename
   is intentional: the legacy HTTPS static-path validator rejects hyphens. */
.google_login { margin: 0 0 22px; text-align: center; }
.google_login[hidden] { display: none; }
.google_login_button { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 48px; padding: 12px 20px; border: 1px solid #747775; border-radius: 24px; background: #fff; color: #1f1f1f; font: 500 16px/1.4 Arial, sans-serif; letter-spacing: .1px; cursor: pointer; transition: background .15s, box-shadow .15s; }
.google_login_button img { display: block; width: 20px; height: 20px; object-fit: contain; flex: 0 0 20px; }
.google_login_button:hover:not(:disabled) { background: #f2f2f2; box-shadow: 0 1px 5px #0004; }
.google_login_button:focus-visible { outline: 3px solid #9ac6ff; outline-offset: 3px; }
.google_login_button:disabled { cursor: wait; opacity: .65; }
#google_login_hint, #google_feedback { margin: 12px auto 0; max-width: 390px; color: #c8d3db; font: 13px/1.6 Arial, sans-serif; }
#google_feedback:empty { display: none; }
#google_feedback.google_error { color: #ffccad; }
.google_login_divider { display: flex; align-items: center; gap: 12px; margin-top: 22px; color: #b5c3ce; font: 12px/1.5 Arial, sans-serif; }
.google_login_divider::before, .google_login_divider::after { content: ''; flex: 1; height: 1px; background: #ffffff25; }
@media (prefers-reduced-motion: reduce) { .google_login_button { transition: none; } }
