/* ==========================================================================
   Login moderno (layout dividido) - application/views/geral/login.php
   - Todas as regras sao escopadas em #login-container.lgx: nao afetam outras
     telas, os modais (que ficam fora do container) nem componentes globais.
   - Nenhuma regra define "display" dos blocos que o JS mostra/esconde
     (#fornomal, #forprim, #esquecisenhatl, .alert, .msg, .load, titulos...).
   ========================================================================== */

#login-container.lgx {
  --lgx-ink: #18181b;
  --lgx-ink-hover: #000000;
  --lgx-text: #18181b;
  --lgx-text-2: #3f3f46;
  --lgx-muted: #71717a;
  --lgx-faint: #a1a1aa;
  --lgx-panel: #f6f6f6;
  --lgx-input: #ebebeb;
  --lgx-input-hover: #e4e4e4;
  --lgx-line: #e4e4e7;
  --lgx-surface: #ffffff;
  --lgx-ring: rgba(24, 24, 27, 0.1);
  --lgx-radius: 8px;
  --lgx-radius-frame: 34px;
  --lgx-radius-hero: 26px;
  --lgx-font: "Plus Jakarta Sans", "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

  position: relative;
  float: none;
  width: 100%;
  min-height: 100vh;
  padding: 24px;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: hidden;
  background-color: #1f1f23;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--lgx-text);
  font-family: var(--lgx-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Fundo da pagina: a mesma imagem que o JS aplica no container, desfocada.
   "inherit" acompanha a troca desktop/mobile feita por aplicarFundoLoginResponsivo(). */
#login-container.lgx:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-image: inherit;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-filter: blur(32px) saturate(1.15);
  filter: blur(32px) saturate(1.15);
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
  pointer-events: none;
}

#login-container.lgx:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: rgba(15, 15, 20, 0.18);
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   Moldura (formulario + painel de imagem)
   -------------------------------------------------------------------------- */
#login-container.lgx .login-box.lgx-frame {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  float: none;
  width: 100%;
  max-width: 1200px;
  min-height: 640px;
  min-height: min(760px, calc(100vh - 48px));
  margin: 0 auto;
  padding: 10px;
  box-sizing: border-box;
  background: var(--lgx-panel);
  border-radius: var(--lgx-radius-frame);
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.28), 0 40px 100px -30px rgba(0, 0, 0, 0.55);
  -webkit-animation: lgx-in 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
  animation: lgx-in 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

/* Painel do formulario (o !important neutraliza o background-color inline que o JS aplica no mobile) */
#login-container.lgx .login-box .login-body {
  position: relative;
  float: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%;
  min-width: 0;
  width: auto;
  padding: 32px 40px 16px;
  background: transparent !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: var(--lgx-text);
  font-family: var(--lgx-font);
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

/* Coluna central do formulario, centralizada na vertical */
#login-container.lgx .lgx-panel {
  width: 100%;
  max-width: 360px;
  margin: auto;
  padding: 24px 0 32px;
}

#login-container.lgx .lgx-panel:after {
  content: "";
  display: table;
  clear: both;
}

/* Placeholders vazios (#senhaconfirmacao etc.) nao ocupam espaco; o JS substitui o conteudo via .html() */
#login-container.lgx .lgx-panel h1:empty {
  display: none;
}

/* --------------------------------------------------------------------------
   Titulos
   -------------------------------------------------------------------------- */
#login-container.lgx .login-box .login-body .login-title,
#login-container.lgx .ajuda-title,
#login-container.lgx .primeiro-title,
#login-container.lgx .recuperar-title {
  position: relative;
  margin: 0 0 30px;
  padding: 0 24px;
  color: var(--lgx-text);
  font-family: var(--lgx-font);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-align: center;
}

#login-container.lgx .login-title strong,
#login-container.lgx .ajuda-title strong,
#login-container.lgx .primeiro-title strong,
#login-container.lgx .recuperar-title strong {
  font-weight: 700;
}

#login-container.lgx .lgx-subtitle {
  display: block;
  margin-top: 10px;
  color: var(--lgx-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

#login-container.lgx .login-title .load {
  position: absolute;
  top: 7px;
  right: 0;
  width: 20px;
  height: 20px;
}

/* --------------------------------------------------------------------------
   Grid do Bootstrap dentro do painel: tudo em coluna unica, sem gutters
   -------------------------------------------------------------------------- */
#login-container.lgx .lgx-panel [class*="col-md-"] {
  float: none;
  width: auto;
  min-height: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}

#login-container.lgx .lgx-panel .form-group,
#login-container.lgx .lgx-panel .form-horizontal .form-group {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 18px;
}

/* Ultimo bloco do form de login (botao Entrar): o espaco abaixo vem de .lgx-alt */
#login-container.lgx #for_auten > .form-group:last-of-type {
  margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Labels e avisos
   -------------------------------------------------------------------------- */
#login-container.lgx label,
#login-container.lgx .form-horizontal .control-label {
  display: block;
  margin: 0 0 7px;
  padding: 0;
  color: var(--lgx-text-2);
  font-family: var(--lgx-font);
  font-size: 13.5px;
  font-weight: 600;
  text-align: left;
}

#login-container.lgx label.mensagem,
#login-container.lgx label.msg {
  margin-bottom: 18px;
  padding: 10px 12px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 10px;
  color: #78350f;
  font-weight: 500;
  line-height: 1.45;
}

/* --------------------------------------------------------------------------
   Campos
   -------------------------------------------------------------------------- */
#login-container.lgx .login-box .login-body .form-control {
  height: 44px;
  padding: 10px 14px;
  background: var(--lgx-input);
  border: 1px solid transparent;
  border-radius: var(--lgx-radius);
  box-shadow: none;
  color: var(--lgx-text);
  font-family: var(--lgx-font);
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  opacity: 1;
  -webkit-transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

#login-container.lgx .login-box .login-body .form-control:hover {
  background: var(--lgx-input-hover);
}

#login-container.lgx .login-box .login-body .form-control:focus {
  background: var(--lgx-surface);
  border-color: var(--lgx-ink);
  box-shadow: 0 0 0 4px var(--lgx-ring);
  outline: 0;
}

#login-container.lgx .login-box .login-body .form-control::-webkit-input-placeholder { color: #9a9aa2; font-weight: 400; }
#login-container.lgx .login-box .login-body .form-control::-moz-placeholder { color: #9a9aa2; font-weight: 400; opacity: 1; }
#login-container.lgx .login-box .login-body .form-control:-ms-input-placeholder { color: #9a9aa2; font-weight: 400; }
#login-container.lgx .login-box .login-body .form-control::placeholder { color: #9a9aa2; font-weight: 400; }

/* Autopreenchimento do navegador sem o fundo amarelo/azul */
#login-container.lgx .login-box .login-body .form-control:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 100px var(--lgx-input) inset;
  box-shadow: 0 0 0 100px var(--lgx-input) inset;
  -webkit-text-fill-color: var(--lgx-text);
}

#login-container.lgx .login-box .login-body .form-control:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 100px var(--lgx-surface) inset, 0 0 0 4px var(--lgx-ring);
  box-shadow: 0 0 0 100px var(--lgx-surface) inset, 0 0 0 4px var(--lgx-ring);
}

#login-container.lgx .login-box .login-body .input-container .form-control {
  padding-right: 46px;
}

#login-container.lgx .login-box .login-body select.form-control {
  padding-right: 32px;
  cursor: pointer;
}

/* Campo somente leitura dos fragmentos (nome / e-mail cadastrado) */
#login-container.lgx #esqueciemailedit {
  height: auto;
  min-height: 44px;
  background-color: var(--lgx-surface) !important;
  border-color: var(--lgx-line);
  color: var(--lgx-text-2);
}

#login-container.lgx #esqueciemailedit h5,
#login-container.lgx #esqueciemailedit h7 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
}

/* Botao "mostrar senha" (posicao vem do style inline; aqui so a aparencia) */
#login-container.lgx .show-password-toggle {
  width: 32px;
  height: 32px;
  margin-right: -4px;
  border-radius: 6px;
  color: var(--lgx-muted);
  font-size: 15px;
  line-height: 32px;
  text-align: center;
  -webkit-transition: color 0.15s ease, background-color 0.15s ease;
  transition: color 0.15s ease, background-color 0.15s ease;
}

#login-container.lgx .show-password-toggle:hover {
  background: rgba(0, 0, 0, 0.06);
  color: var(--lgx-text);
}

/* Campos empilhados no mesmo bloco (recuperacao, cadastro do primeiro acesso, suporte) */
#login-container.lgx #recusenha .form-group label {
  margin-top: 16px;
}

#login-container.lgx #recusenha .form-group label:first-child {
  margin-top: 0;
}

#login-container.lgx #form_registro label.espaco {
  margin-top: 16px;
}

#login-container.lgx #loginFormsuporte .form-group > [class*="col-md-"] + [class*="col-md-"] {
  margin-top: 12px;
}

/* Medidor de forca de senha do primeiro acesso (cores continuam as do fragmento) */
#login-container.lgx #progressbar {
  height: 8px;
  margin-top: 6px;
  border: 0;
  border-radius: 999px;
  background: var(--lgx-line);
  overflow: hidden;
}

#login-container.lgx #progressbar .ui-progressbar-value {
  height: 100%;
  border: 0;
  border-radius: 999px;
}

/* --------------------------------------------------------------------------
   Links de texto e acoes secundarias
   -------------------------------------------------------------------------- */
#login-container.lgx .lgx-link {
  display: inline;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 4px;
  color: var(--lgx-text-2);
  font-family: var(--lgx-font);
  font-size: 13px;
  font-weight: 600;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: color 0.15s ease;
  transition: color 0.15s ease;
}

#login-container.lgx .lgx-link:hover {
  color: var(--lgx-ink-hover);
  text-decoration: underline;
}

#login-container.lgx .lgx-link-strong {
  color: var(--lgx-ink);
  font-weight: 700;
}

#login-container.lgx .lgx-forgot {
  margin-top: 10px;
  text-align: right;
}

#login-container.lgx .lgx-alt {
  margin: 22px 0 0;
  color: var(--lgx-muted);
  font-size: 13px;
  text-align: center;
}

/* Outros acessos (candidato / cliente / canal de denuncias) */
#login-container.lgx .lgx-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -4px;
}

#login-container.lgx .lgx-pill {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 14px 4px 0;
  padding: 7px 14px;
  background: var(--lgx-surface);
  border: 1px solid var(--lgx-line);
  border-radius: 999px;
  color: var(--lgx-text-2);
  font-family: var(--lgx-font);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 18px;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
  transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

#login-container.lgx .lgx-pill .fa {
  margin-right: 6px;
  color: var(--lgx-muted);
  font-size: 12px;
}

#login-container.lgx .lgx-pill:hover,
#login-container.lgx .lgx-pill:focus {
  border-color: var(--lgx-faint);
  color: var(--lgx-ink);
  text-decoration: none;
}

#login-container.lgx .lgx-pill.lgx-pill-dark {
  background: #000e73;
  border-color: #000e73;
  color: #fff;
}

#login-container.lgx .lgx-pill.lgx-pill-dark .fa {
  color: rgba(255, 255, 255, 0.8);
}

#login-container.lgx .lgx-pill.lgx-pill-dark:hover,
#login-container.lgx .lgx-pill.lgx-pill-dark:focus {
  background: #00149e;
  border-color: #00149e;
  color: #fff;
}

/* Links "Precisa de ajuda?" */
#login-container.lgx .position {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin: -6px 0 18px;
}

#login-container.lgx .position a {
  color: var(--lgx-text-2);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

#login-container.lgx .position a:hover,
#login-container.lgx .position a:focus {
  color: var(--lgx-ink-hover);
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Botoes
   -------------------------------------------------------------------------- */
#login-container.lgx .btn {
  min-height: 44px;
  padding: 11px 16px;
  border: 1px solid transparent;
  border-radius: var(--lgx-radius);
  box-shadow: none;
  font-family: var(--lgx-font);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  white-space: normal;
  text-shadow: none;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, -webkit-transform 0.1s ease;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}

#login-container.lgx .btn .fa {
  margin-right: 6px;
}

#login-container.lgx .btn:focus,
#login-container.lgx .btn:active:focus {
  outline: 0;
  box-shadow: 0 0 0 4px var(--lgx-ring);
}

#login-container.lgx .btn[disabled],
#login-container.lgx .btn.disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Primario (Entrar, Buscar, Verificar, Validar, Cadastrar, Logar) */
#login-container.lgx .btn-info,
#login-container.lgx .btn-primary {
  background: var(--lgx-ink);
  border-color: var(--lgx-ink);
  color: #fff;
}

#login-container.lgx .btn-info:hover,
#login-container.lgx .btn-info:focus,
#login-container.lgx .btn-primary:hover,
#login-container.lgx .btn-primary:focus {
  background: var(--lgx-ink-hover);
  border-color: var(--lgx-ink-hover);
  color: #fff;
}

#login-container.lgx .btn-info:active,
#login-container.lgx .btn-primary:active {
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
}

#login-container.lgx #auten1 {
  min-height: 46px;
  font-size: 15px;
  letter-spacing: 0.01em;
}

/* Secundarios (Voltar, Cancelar, Gerar Token) */
#login-container.lgx .btn.btn-google,
#login-container.lgx .btn.btn-twitter {
  background: var(--lgx-surface);
  border-color: var(--lgx-line);
  color: var(--lgx-text);
}

#login-container.lgx .btn.btn-google:hover,
#login-container.lgx .btn.btn-google:focus,
#login-container.lgx .btn.btn-twitter:hover,
#login-container.lgx .btn.btn-twitter:focus {
  background: #fafafa;
  border-color: #d4d4d8;
  color: var(--lgx-ink);
}

#login-container.lgx .btn.btn-google .fa,
#login-container.lgx .btn.btn-twitter .fa {
  color: var(--lgx-muted);
}

/* --------------------------------------------------------------------------
   Linhas de acao: primario 62% + secundario 38%
   -------------------------------------------------------------------------- */
#login-container.lgx #forprim:after,
#login-container.lgx #recusenha:after,
#login-container.lgx #loginFormsuporte:after,
#login-container.lgx #formMfaConfirmacao:after,
#login-container.lgx #formAlterarSenhaConfirmacao:after,
#login-container.lgx #form_registro .espaco:after {
  content: "";
  display: table;
  clear: both;
}

#login-container.lgx #forprim > .col-md-6,
#login-container.lgx #recusenha > .col-md-8,
#login-container.lgx #loginFormsuporte > .col-md-8,
#login-container.lgx #formMfaConfirmacao > .col-md-8,
#login-container.lgx #formAlterarSenhaConfirmacao > .col-md-8,
#login-container.lgx #form_registro .espaco > .col-md-8 {
  float: left;
  width: 62%;
  padding-right: 5px;
}

#login-container.lgx #forprim > .col-md-6 + .col-md-6,
#login-container.lgx #recusenha > .col-md-4,
#login-container.lgx #loginFormsuporte > .col-md-4,
#login-container.lgx #formMfaConfirmacao > .col-md-4,
#login-container.lgx #formAlterarSenhaConfirmacao > .col-md-4,
#login-container.lgx #form_registro .espaco > .col-md-4 {
  float: left;
  width: 38%;
  padding-right: 0;
  padding-left: 5px;
}

/* MFA sem campo de codigo: so o botao Cancelar */
#login-container.lgx #formMfaConfirmacao > .col-md-4:first-of-type {
  width: 100%;
  padding-left: 0;
}

#login-container.lgx #form_registro div.espaco {
  margin-top: 22px;
}

/* --------------------------------------------------------------------------
   Mensagens (visibilidade controlada 100% pelo JS)
   -------------------------------------------------------------------------- */
#login-container.lgx .alert {
  margin: 0 0 20px;
  padding: 11px 14px;
  border: 1px solid var(--lgx-line);
  border-radius: 10px;
  background: var(--lgx-surface);
  box-shadow: none;
  color: var(--lgx-text-2);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.45;
  text-align: left;
}

#login-container.lgx .alert-success,
#login-container.lgx .alert.success-bg {
  background: #ecfdf5;
  border-color: #a7f3d0;
  color: #047857;
}

/* Erro vem depois e com mais especificidade: varios fluxos acrescentam alert-danger
   sem remover alert-success; como no Bootstrap, o vermelho prevalece */
#login-container.lgx .alert-danger,
#login-container.lgx .alert.alert-danger {
  background: #fef2f2;
  border-color: #fecaca;
  color: #b91c1c;
}

#login-container.lgx .msg {
  margin: 0;
}

#login-container.lgx .msg.error-bg,
#login-container.lgx .msg.success-bg {
  margin: 0 0 18px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
  text-align: left;
}

#login-container.lgx .msg.success-bg {
  background-color: #ecfdf5 !important;
  border-color: #a7f3d0;
  color: #047857;
}

/* !important por causa do .error-bg do style.css; vem depois para o erro prevalecer */
#login-container.lgx .msg.error-bg {
  background-color: #fef2f2 !important;
  border-color: #fecaca;
  color: #b91c1c;
}

#login-container.lgx #load_token p {
  margin: 0;
  padding: 10px 12px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 10px;
  color: #78350f;
  font-size: 13px;
  line-height: 1.45;
}

/* --------------------------------------------------------------------------
   reCAPTCHA
   -------------------------------------------------------------------------- */
#login-container.lgx .login-recaptcha-wrap {
  margin: 0 0 18px;
}

#login-container.lgx .login-recaptcha-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
}

#login-container.lgx .login-recaptcha-box .g-recaptcha {
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

#login-container.lgx .login-recaptcha-box .btn-reload-captcha {
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  padding: 0;
  background: var(--lgx-surface);
  border: 1px solid var(--lgx-line);
  border-radius: var(--lgx-radius);
  color: var(--lgx-muted);
  line-height: 34px;
  text-align: center;
  cursor: pointer;
  -webkit-transition: color 0.15s ease, border-color 0.15s ease;
  transition: color 0.15s ease, border-color 0.15s ease;
}

#login-container.lgx .login-recaptcha-box .btn-reload-captcha:hover,
#login-container.lgx .login-recaptcha-box .btn-reload-captcha:focus {
  border-color: var(--lgx-ink);
  color: var(--lgx-ink);
  outline: 0;
}

/* --------------------------------------------------------------------------
   Rodape do painel
   -------------------------------------------------------------------------- */
#login-container.lgx .login-box .login-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2px 16px;
  float: none;
  clear: both;
  width: auto;
  margin: 0;
  padding: 6px 0 0;
  color: var(--lgx-faint);
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}

#login-container.lgx .login-box .login-footer a {
  color: var(--lgx-muted);
  text-decoration: none;
  -webkit-transition: color 0.15s ease;
  transition: color 0.15s ease;
}

#login-container.lgx .login-box .login-footer a:hover,
#login-container.lgx .login-box .login-footer a:focus {
  color: var(--lgx-ink);
}

#login-container.lgx .lgx-footer-links a + a:before {
  content: "\00B7";
  display: inline-block;
  margin: 0 8px;
  color: #c4c4c8;
}

/* --------------------------------------------------------------------------
   Painel de imagem
   -------------------------------------------------------------------------- */
#login-container.lgx .lgx-hero {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--lgx-radius-hero);
  background-color: #134e4a;
  background-image: linear-gradient(150deg, #0f766e 0%, #134e4a 55%, #0b2f2c 100%);
  background-image: var(--lgx-hero-tall), linear-gradient(150deg, #0f766e 0%, #134e4a 55%, #0b2f2c 100%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
}

/* Gradiente inferior para a frase ficar legivel em qualquer imagem */
#login-container.lgx .lgx-hero:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.18) 62%, rgba(0, 0, 0, 0.58) 100%);
  pointer-events: none;
}

#login-container.lgx .lgx-hero-top,
#login-container.lgx .lgx-hero-bottom {
  position: relative;
  z-index: 1;
}

#login-container.lgx .lgx-hero-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 12px;
  padding: 26px 26px 0;
}

#login-container.lgx .lgx-hero-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 46%;
  max-height: 56px;
  -o-object-fit: contain;
  object-fit: contain;
  -webkit-filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.18));
  filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.18));
}

#login-container.lgx .lgx-hero-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 20px;
  padding: 0 40px 38px;
}

#login-container.lgx .lgx-hero-title {
  margin: 0;
  max-width: 460px;
  color: #fff;
  font-family: var(--lgx-font);
  font-size: 40px;
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}

#login-container.lgx .lgx-hero-title strong {
  display: block;
  font-weight: 700;
}

#login-container.lgx .lgx-hero-logo-below {
  display: block;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  max-width: 36%;
  max-height: 48px;
  -o-object-fit: contain;
  object-fit: contain;
}

/* --------------------------------------------------------------------------
   Spinner de envio (o JS alterna .loader e o botao; aqui so a posicao)
   -------------------------------------------------------------------------- */
#login-container.lgx .loader {
  min-height: 44px;
  text-align: center;
}

#login-container.lgx .loader img {
  float: none;
  width: 24px;
  margin: 10px 0 0;
}

/* --------------------------------------------------------------------------
   Login do candidato (views/geral/login_candidato.php)
   -------------------------------------------------------------------------- */
/* Telefone: DDD + numero lado a lado */
#login-container.lgx .lgx-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

#login-container.lgx .login-box .login-body .lgx-row > .form-control {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

#login-container.lgx .login-box .login-body .lgx-row > .lgx-ddd {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 88px;
  flex: 0 0 88px;
  width: 88px;
}

/* Textos auxiliares */
#login-container.lgx .lgx-opt {
  color: var(--lgx-faint);
  font-weight: 500;
}

#login-container.lgx .lgx-hint {
  display: block;
  margin-top: 6px;
  color: var(--lgx-muted);
  font-size: 12px;
}

/* Curriculo (input de arquivo nativo) */
#login-container.lgx #docs input[type="file"] {
  display: block;
  width: 100%;
  padding: 8px;
  background: var(--lgx-surface);
  border: 1px dashed #d4d4d8;
  border-radius: var(--lgx-radius);
  color: var(--lgx-muted);
  font-family: var(--lgx-font);
  font-size: 13px;
  line-height: 20px;
  cursor: pointer;
  -webkit-transition: border-color 0.15s ease;
  transition: border-color 0.15s ease;
}

#login-container.lgx #docs input[type="file"]:hover,
#login-container.lgx #docs input[type="file"]:focus {
  border-color: var(--lgx-ink);
  outline: 0;
}

/* Regras separadas: um seletor desconhecido invalidaria a regra inteira */
#login-container.lgx #docs input[type="file"]::-webkit-file-upload-button {
  margin-right: 12px;
  padding: 7px 14px;
  background: #f4f4f5;
  border: 1px solid var(--lgx-line);
  border-radius: 6px;
  color: var(--lgx-ink);
  font-family: var(--lgx-font);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

#login-container.lgx #docs input[type="file"]::file-selector-button {
  margin-right: 12px;
  padding: 7px 14px;
  background: #f4f4f5;
  border: 1px solid var(--lgx-line);
  border-radius: 6px;
  color: var(--lgx-ink);
  font-family: var(--lgx-font);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

/* Mensagens do curriculo (visibilidade controlada pelo JS) */
#login-container.lgx #docs .erro,
#login-container.lgx #docs .alert {
  margin: 0 0 18px;
  text-align: left;
}

#login-container.lgx #docs .erro {
  padding: 10px 12px;
  border: 1px solid #fecaca;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
}

/* "Nao consegue acessar? Entre em contato" */
#login-container.lgx .login-box .login-body .login-subtitle {
  margin-top: 20px;
  padding: 0;
  color: var(--lgx-muted);
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}

#login-container.lgx .login-box .login-body .login-subtitle a {
  color: var(--lgx-ink);
  font-weight: 700;
  text-decoration: none;
}

#login-container.lgx .login-box .login-body .login-subtitle a:hover {
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Transicoes: entrada da moldura e fade ao trocar de tela.
   A animacao CSS roda sozinha quando o JS troca display:none -> block.
   Sem animation-fill-mode: com "both" o opacity:1 final ficava preso e
   anulava o fadeOut/hide do jQuery na tela que esta saindo.
   -------------------------------------------------------------------------- */
#login-container.lgx .login-title,
#login-container.lgx .primeiro-title,
#login-container.lgx .recuperar-title,
#login-container.lgx #fornomal,
#login-container.lgx #forprim,
#login-container.lgx #esquecisenhatl,
#login-container.lgx #esquecisenhaedit,
#login-container.lgx #verificacao_mfa,
#login-container.lgx #login_suporte,
#login-container.lgx #forprimeiro {
  -webkit-animation: lgx-fade 0.32s cubic-bezier(0.2, 0.7, 0.2, 1);
  animation: lgx-fade 0.32s cubic-bezier(0.2, 0.7, 0.2, 1);
}

@-webkit-keyframes lgx-in {
  from { opacity: 0; -webkit-transform: translateY(16px); }
  to { opacity: 1; -webkit-transform: none; }
}

@keyframes lgx-in {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

@-webkit-keyframes lgx-fade {
  from { opacity: 0; -webkit-transform: translateY(6px); }
  to { opacity: 1; -webkit-transform: none; }
}

@keyframes lgx-fade {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------------------
   Responsivo
   -------------------------------------------------------------------------- */
@media (max-width: 1199px) {
  #login-container.lgx .login-box .login-body {
    padding: 28px 28px 14px;
  }

  #login-container.lgx .lgx-hero-bottom {
    padding: 0 30px 30px;
  }

  #login-container.lgx .lgx-hero-title {
    font-size: 34px;
  }
}

/* Tablet retrato e celular: empilhado, painel de imagem vira banner no topo */
@media (max-width: 899px) {
  #login-container.lgx {
    padding: 16px;
  }

  #login-container.lgx .login-box.lgx-frame {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 560px;
    min-height: calc(100vh - 32px);
    padding: 8px;
    border-radius: 28px;
  }

  #login-container.lgx .lgx-hero {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    height: 172px;
    border-radius: 21px;
    background-image: var(--lgx-hero-wide), linear-gradient(150deg, #0f766e 0%, #134e4a 55%, #0b2f2c 100%);
  }

  #login-container.lgx .lgx-hero-top {
    padding: 16px 16px 0;
  }

  #login-container.lgx .lgx-hero-logo {
    max-height: 44px;
  }

  #login-container.lgx .lgx-hero-bottom {
    padding: 0 22px 18px;
  }

  #login-container.lgx .lgx-hero-title {
    font-size: 22px;
  }

  #login-container.lgx .lgx-hero-logo-below {
    max-height: 34px;
  }

  #login-container.lgx .login-box .login-body {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 22px 22px 12px;
  }

  #login-container.lgx .lgx-panel {
    max-width: 400px;
    padding: 18px 0 26px;
  }
}

@media (max-width: 767px) {
  /* 16px evita o zoom automatico do iOS ao focar o campo */
  #login-container.lgx .login-box .login-body .form-control {
    font-size: 16px;
  }
}

@media (max-width: 479px) {
  #login-container.lgx {
    padding: 10px;
  }

  #login-container.lgx .login-box.lgx-frame {
    min-height: calc(100vh - 20px);
    padding: 6px;
    border-radius: 24px;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.22), 0 20px 60px -20px rgba(0, 0, 0, 0.5);
  }

  #login-container.lgx .lgx-hero {
    height: 136px;
    border-radius: 19px;
  }

  #login-container.lgx .lgx-hero-top {
    padding: 12px 12px 0;
  }

  #login-container.lgx .lgx-hero-logo {
    max-height: 38px;
  }

  #login-container.lgx .lgx-hero-bottom {
    padding: 0 16px 14px;
  }

  #login-container.lgx .lgx-hero-title {
    font-size: 18px;
  }

  #login-container.lgx .login-box .login-body {
    padding: 18px 16px 10px;
  }

  #login-container.lgx .lgx-panel {
    padding: 14px 0 20px;
  }

  #login-container.lgx .login-box .login-body .login-title,
  #login-container.lgx .ajuda-title,
  #login-container.lgx .primeiro-title,
  #login-container.lgx .recuperar-title {
    margin-bottom: 22px;
    font-size: 24px;
  }
}

@media (max-width: 359px) {
  #login-container.lgx #forprim > .col-md-6,
  #login-container.lgx #forprim > .col-md-6 + .col-md-6,
  #login-container.lgx #recusenha > .col-md-8,
  #login-container.lgx #recusenha > .col-md-4,
  #login-container.lgx #loginFormsuporte > .col-md-8,
  #login-container.lgx #loginFormsuporte > .col-md-4,
  #login-container.lgx #formMfaConfirmacao > .col-md-8,
  #login-container.lgx #formMfaConfirmacao > .col-md-4,
  #login-container.lgx #formAlterarSenhaConfirmacao > .col-md-8,
  #login-container.lgx #formAlterarSenhaConfirmacao > .col-md-4,
  #login-container.lgx #form_registro .espaco > .col-md-8,
  #login-container.lgx #form_registro .espaco > .col-md-4 {
    width: 100%;
    padding: 0;
    margin-bottom: 10px;
  }
}

/* reCAPTCHA tem 304px fixos; reduz para caber sem rolagem horizontal */
@media (max-width: 367px) {
  #login-container.lgx .login-recaptcha-box {
    overflow: hidden;
  }

  #login-container.lgx .login-recaptcha-box .g-recaptcha {
    min-width: 0;
    height: 70px;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

@media (max-width: 337px) {
  #login-container.lgx .login-recaptcha-box .g-recaptcha {
    height: 63px;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}

/* Viewport dinamico (barra de endereco do celular), quando suportado */
@supports (height: 100dvh) {
  #login-container.lgx {
    min-height: 100dvh;
  }

  @media (max-width: 899px) {
    #login-container.lgx .login-box.lgx-frame {
      min-height: calc(100dvh - 32px);
    }
  }

  @media (max-width: 479px) {
    #login-container.lgx .login-box.lgx-frame {
      min-height: calc(100dvh - 20px);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  #login-container.lgx .login-box.lgx-frame,
  #login-container.lgx .login-title,
  #login-container.lgx .primeiro-title,
  #login-container.lgx .recuperar-title,
  #login-container.lgx #fornomal,
  #login-container.lgx #forprim,
  #login-container.lgx #esquecisenhatl,
  #login-container.lgx #esquecisenhaedit,
  #login-container.lgx #verificacao_mfa,
  #login-container.lgx #login_suporte,
  #login-container.lgx #forprimeiro {
    -webkit-animation: none;
    animation: none;
  }

  #login-container.lgx .btn,
  #login-container.lgx .form-control,
  #login-container.lgx .lgx-pill,
  #login-container.lgx .lgx-link {
    -webkit-transition: none;
    transition: none;
  }
}

/* ==========================================================================
   Modais do login: Sobre e Privacidade (#myModal) e Contato (#Modal_Info).
   Escopo: .modal.lgx-modal (classe presente so nos modais desta pagina).
   O JS troca cabecalho, corpo e rodape via .html() a cada abertura; aqui so
   a aparencia. Nenhuma regra define "display" do .modal (o Bootstrap controla).
   ========================================================================== */
.modal.lgx-modal {
  --lgx-ink: #18181b;
  --lgx-text-2: #3f3f46;
  --lgx-muted: #71717a;
  --lgx-line: #ececef;
  --lgx-ring: rgba(24, 24, 27, 0.12);
  --lgx-font: "Plus Jakarta Sans", "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-family: var(--lgx-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Desfoca a pagina por tras do modal */
.modal.lgx-modal.in {
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

/* Dialogo centralizado na vertical. pointer-events: o Bootstrap so fecha ao clicar
   fora quando o alvo e o proprio .modal; assim o clique acima/abaixo do cartao
   continua chegando nele (mesma tecnica do Bootstrap 4). */
.modal.lgx-modal .modal-dialog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(100% - 48px);
  max-width: 760px;
  min-height: calc(100% - 64px);
  margin: 32px auto;
  pointer-events: none;
}

.modal.lgx-modal.fade .modal-dialog {
  -webkit-transform: translateY(16px) scale(0.98);
  transform: translateY(16px) scale(0.98);
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
  transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.modal.lgx-modal.in .modal-dialog {
  -webkit-transform: none;
  transform: none;
}

/* Cartao: cabecalho e rodape fixos, so o corpo rola */
.modal.lgx-modal .modal-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  max-height: calc(100vh - 64px);
  overflow: hidden;
  pointer-events: auto;
  background: #fff;
  border: 0;
  border-radius: 22px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 30px 80px -20px rgba(0, 0, 0, 0.45);
  color: var(--lgx-text-2);
  font-family: var(--lgx-font);
}

/* Botao fechar (fica fora do cabecalho porque o JS reescreve o cabecalho) */
.modal.lgx-modal .lgx-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  width: 36px;
  height: 36px;
  padding: 0;
  background: #f4f4f5;
  border: 0;
  border-radius: 50%;
  color: #52525b;
  font-size: 15px;
  line-height: 36px;
  text-align: center;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.modal.lgx-modal .lgx-modal-close:hover {
  background: #e4e4e7;
  color: var(--lgx-ink);
}

.modal.lgx-modal .lgx-modal-close:focus {
  outline: 0;
  box-shadow: 0 0 0 4px var(--lgx-ring);
}

/* Cabecalho: o JS deixa so o texto do titulo dentro dele */
.modal.lgx-modal .modal-header {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  min-height: 0;
  margin: 0;
  padding: 22px 72px 18px 28px;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--lgx-line);
  border-radius: 0;
  color: var(--lgx-ink);
  font-family: var(--lgx-font);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

.modal.lgx-modal .modal-header .close {
  display: none;
}

/* Corpo */
.modal.lgx-modal .modal-body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 0;
  padding: 24px 28px 6px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  color: var(--lgx-text-2);
  font-size: 15px;
  line-height: 1.7;
  scrollbar-width: thin;
  scrollbar-color: #d4d4d8 transparent;
}

.modal.lgx-modal .modal-body::-webkit-scrollbar {
  width: 10px;
}

.modal.lgx-modal .modal-body::-webkit-scrollbar-thumb {
  background: #d4d4d8;
  border: 3px solid #fff;
  border-radius: 10px;
}

.modal.lgx-modal .modal-body::-webkit-scrollbar-track {
  background: transparent;
}

/* Texto do "Sobre" (paragrafos em .font_2 montados pelo JS) */
.modal.lgx-modal .modal-body .font_2 {
  margin: 0 0 18px;
  color: var(--lgx-text-2);
  font-family: var(--lgx-font);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75;
}

/* Titulo de cada paragrafo ("Aumente a Produtividade", "100% na nuvem") */
.modal.lgx-modal .modal-body .font_2 > span:first-child > span:first-child {
  color: var(--lgx-ink);
  font-weight: 700;
}

/* Cabecalho vazio que o HTML do "Sobre" gera entre os paragrafos */
.modal.lgx-modal .modal-body h2.font_2 {
  margin: 0;
}

/* Paginas embutidas (Privacidade e Contato); a altura continua a do JS */
.modal.lgx-modal .modal-body iframe {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 12px;
  background: #fff;
}

/* Rodape: botoes a direita; o secundario (Fechar) fica a esquerda do primario */
.modal.lgx-modal .modal-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: 0;
  padding: 16px 28px 22px;
  background: #fff;
  border: 0;
  border-top: 1px solid var(--lgx-line);
  border-radius: 0;
}

.modal.lgx-modal .modal-footer:before,
.modal.lgx-modal .modal-footer:after {
  display: none;
}

.modal.lgx-modal .modal-footer .btn {
  float: none;
  min-height: 42px;
  margin: 0;
  padding: 10px 18px;
  background: #fff;
  border: 1px solid #e4e4e7;
  border-radius: 10px;
  box-shadow: none;
  color: var(--lgx-ink);
  font-family: var(--lgx-font);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  text-shadow: none;
  -webkit-transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.modal.lgx-modal .modal-footer .btn:hover {
  background: #fafafa;
  border-color: #d4d4d8;
  color: var(--lgx-ink);
}

.modal.lgx-modal .modal-footer .btn:focus,
.modal.lgx-modal .modal-footer .btn:active:focus {
  outline: 0;
  box-shadow: 0 0 0 4px var(--lgx-ring);
}

/* Primario (ex.: "Li e Concordo" da Privacidade) */
.modal.lgx-modal .modal-footer .btn-info,
.modal.lgx-modal .modal-footer .btn-primary {
  background: var(--lgx-ink);
  border-color: var(--lgx-ink);
  color: #fff;
}

.modal.lgx-modal .modal-footer .btn-info:hover,
.modal.lgx-modal .modal-footer .btn-primary:hover {
  background: #000;
  border-color: #000;
  color: #fff;
}

@media (max-width: 767px) {
  .modal.lgx-modal .modal-dialog {
    width: auto;
    min-height: calc(100% - 24px);
    margin: 12px;
  }

  .modal.lgx-modal .modal-content {
    max-height: calc(100vh - 24px);
    border-radius: 18px;
  }

  .modal.lgx-modal .lgx-modal-close {
    top: 12px;
    right: 12px;
  }

  .modal.lgx-modal .modal-header {
    padding: 18px 60px 14px 20px;
    font-size: 17px;
  }

  .modal.lgx-modal .modal-body {
    padding: 18px 20px 4px;
    font-size: 14.5px;
  }

  .modal.lgx-modal .modal-body .font_2 {
    font-size: 14.5px;
    line-height: 1.7;
  }

  .modal.lgx-modal .modal-footer {
    padding: 14px 20px 18px;
  }

  .modal.lgx-modal .modal-footer .btn {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
  }
}

@supports (height: 100dvh) {
  .modal.lgx-modal .modal-content {
    max-height: calc(100dvh - 64px);
  }

  @media (max-width: 767px) {
    .modal.lgx-modal .modal-content {
      max-height: calc(100dvh - 24px);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .modal.lgx-modal.fade .modal-dialog {
    -webkit-transform: none;
    transform: none;
    -webkit-transition: none;
    transition: none;
  }

  .modal.lgx-modal .lgx-modal-close,
  .modal.lgx-modal .modal-footer .btn {
    -webkit-transition: none;
    transition: none;
  }
}
