/* Apenas o bloco Google habilitado neste ambiente. Reutiliza login-social das duas páginas. */
[data-google-auth].login-social { margin: 0 0 20px; }
[data-google-auth] .login-social-divider { margin: 16px 0 0; font-weight: 400; font-size: 12px; }
[data-google-auth] button.login-social-btn {
  background: #fff !important; background-image: none !important;
  color: #1f1f1f !important; border: 1px solid #747775 !important;
  font-weight: 500; box-shadow: none !important; transform: none !important;
}
[data-google-auth] button.login-social-btn:hover { background: #f8fafd !important; }
[data-google-auth] .login-social-btn svg { flex: none; width: 18px; height: 18px; }
[data-google-auth] .login-social-btn:focus-visible { outline: 2px solid #4285f4; outline-offset: 3px; }
[data-google-auth] .login-social-btn:disabled { cursor: wait; opacity: .65; }

/* Acabamento dos formulários TEST. Não alcança a composição ilustrativa. */
body.auth-form-refinado .login-card { --auth-controle-altura: 48px; }
body.auth-form-refinado .login-card [data-google-auth] { margin-bottom: 18px; }
body.auth-form-refinado .login-card [data-google-auth] button.login-social-btn {
  height: var(--auth-controle-altura); min-height: var(--auth-controle-altura);
  border-radius: 11px; gap: 10px; padding: 0 16px;
  font-size: 14px; line-height: 20px; font-weight: 500;
  transition: background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}
body.auth-form-refinado .login-card [data-google-auth] button.login-social-btn[aria-busy="true"] { opacity: .65; cursor: wait; }
body.auth-form-refinado .login-card .login-social-divider { gap: 12px; margin-top: 14px; font-size: 12px; color: var(--pedefi-ds-color-muted, #64748b); }
body.auth-form-refinado .login-card :is(.login-card-header, .cadastro-card-header) { margin-bottom: 20px; }
body.auth-form-refinado.login-body--access .login-card .login-logo { margin-bottom: 16px !important; }
body.auth-form-refinado .login-card .login-card-title { margin-bottom: 6px; font-size: 26px; line-height: 1.2; }
body.auth-form-refinado .login-card :is(.login-card-subtitle, .cadastro-card-lead) { font-size: 14px; line-height: 1.5; }
body.auth-form-refinado .cadastro-card .cadastro-card-header { margin-bottom: 6px; }
body.auth-form-refinado .cadastro-card .cadastro-card-lead { margin: 0 0 18px; }
body.auth-form-refinado .login-card .login-field { margin-bottom: 14px; }
body.auth-form-refinado .login-card .login-label { margin-bottom: 6px; font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; }
body.auth-form-refinado .login-card input:not([type="checkbox"]),
body.auth-form-refinado .login-card .cadastro-select {
  height: var(--auth-controle-altura) !important; min-height: 0;
  border-radius: 11px !important; font-size: 14px !important;
  padding-left: 44px !important; border-color: var(--pedefi-ds-color-border-strong, #d8dee8) !important;
}
body.auth-form-refinado .login-card .login-input-icon { left: 15px; width: 18px !important; height: 18px !important; }
body.auth-form-refinado .login-card .login-panel-btn { min-height: var(--auth-controle-altura) !important; height: var(--auth-controle-altura) !important; padding-top: 0 !important; padding-bottom: 0 !important; border-radius: 11px !important; font-size: 14px !important; }
body.auth-form-refinado .login-card #linkEsqueciSenha { display: flex; width: fit-content; margin: 6px 0 0 auto; padding: 3px 0; }
body.auth-form-refinado .login-card #linkEsqueciSenha .login-card-link-text { font-size: 12px; }
body.auth-form-refinado .login-card #linkEsqueciSenha svg { width: 14px !important; height: 14px !important; }
body.auth-form-refinado .login-card .login-card-links { margin-top: 16px; gap: 12px; }
body.auth-form-refinado .login-card .login-card-signup { padding: 14px 16px; border-radius: 11px; }
body.auth-form-refinado .login-card .login-card-signup-copy { display: grid; gap: 4px; margin: 0; }
body.auth-form-refinado .login-card .login-card-signup-copy :is(strong, span, b) { margin: 0; }
body.auth-form-refinado .login-card .login-card-signup strong { font-size: 14px; }
body.auth-form-refinado .login-card .login-card-signup span { font-size: 12px; }
body.auth-form-refinado .login-card .login-card-signup b { justify-content: center; gap: 6px; font-size: 13px; }
body.auth-form-refinado .login-card .login-card-footer { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 14px; margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--pedefi-ds-color-border, #e5e7eb); }
body.auth-form-refinado .login-card .login-card-footer-meta { margin: 0; font-size: 11px; }
body.auth-form-refinado .login-card .login-card-footer-nav a { font-size: 11px; }
body.auth-form-refinado .login-card .auth-captcha { margin: 0 0 14px; }
body.auth-form-refinado .cadastro-card .cadastro-form-grid { gap: 12px 16px; }
body.auth-form-refinado .cadastro-card .cadastro-form-grid .login-field { margin-bottom: 0; }
@media (max-width: 600px) {
  body.auth-form-refinado .login-card .login-card-title { font-size: 24px; }
  body.auth-form-refinado .login-card .login-card-footer { gap: 6px 10px; }
}

/* Cadastro TEST: documento rola naturalmente; o card acompanha seu conteúdo. */
body.auth-form-refinado.cadastro-body {
  height: auto; min-height: 100dvh; overflow-x: clip; overflow-y: visible;
}
body.auth-form-refinado.cadastro-body .login-page.cadastro-page {
  height: auto; min-height: 100dvh; overflow: visible; align-items: start;
}
body.auth-form-refinado.cadastro-body .cadastro-panel {
  height: auto; min-height: 100dvh; align-items: flex-start; overflow: clip;
}
body.auth-form-refinado.cadastro-body .login-card.cadastro-card {
  height: auto; max-height: none; min-height: 0; overflow: visible;
}
body.auth-form-refinado.cadastro-body .cadastro-form { gap: 20px; }
body.auth-form-refinado.cadastro-body .cadastro-form-section-title { margin-bottom: 10px; }
body.auth-form-refinado.cadastro-body .cadastro-form-footer { gap: 14px; }
body.auth-form-refinado.cadastro-body .cadastro-form-footer .auth-captcha { margin: 0; }
body.auth-form-refinado.cadastro-body .cadastro-submit-wrap { gap: 8px; }
@media (min-width: 961px) {
  /* Mantém a composição ilustrativa na altura original, sem esticar as imagens. */
  body.auth-form-refinado.cadastro-body .cadastro-institutional { position: sticky; top: 0; height: 100dvh; min-height: 720px; align-self: start; }
}

/* A seção de senha não deixa um título vazio quando o fluxo autenticado a oculta. */
body.auth-form-refinado.cadastro-body .cadastro-form-section:has(#senhaCadastro[hidden]):has(#confirmarSenhaCadastro[hidden]) { display: none; }
