/* Formulário de consulta de resultados (#frmAutenticacao).
   Estilo de formulário web padrão: labels claros, campos com borda e foco visível,
   botão cheio na cor da marca. O form continua enviando para o portal de resultados
   (action externo) com os mesmos name/id dos campos. */

#frmAutenticacao {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  width: 360px !important;
  max-width: 100%;
  float: none !important;
  position: static !important;
  margin: 0 auto;
  padding: 8px 4px;
  box-sizing: border-box;
  font-family: var(--contentfont, "Open Sans"), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #172d4c;
  text-align: left;
}

#frmAutenticacao > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  margin: 0 !important;
  text-align: left;
}

#frmAutenticacao > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
}

#frmAutenticacao label {
  display: block;
  width: 100%;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  color: #172d4c;
  line-height: 1.3;
}

#frmAutenticacao input[type="text"],
#frmAutenticacao input[type="password"] {
  width: 100%;
  height: 44px;
  padding: 0 14px;
  box-sizing: border-box;
  border: 1px solid #cbd5e0;
  border-radius: 8px;
  background: #ffffff;
  font-size: 15px;
  font-family: inherit;
  color: #172d4c;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  -webkit-appearance: none;
  appearance: none;
}

#frmAutenticacao input[type="text"]::placeholder,
#frmAutenticacao input[type="password"]::placeholder {
  color: #8893a8;
}

#frmAutenticacao input[type="text"]:hover,
#frmAutenticacao input[type="password"]:hover {
  border-color: #8893a8;
}

#frmAutenticacao input[type="text"]:focus,
#frmAutenticacao input[type="password"]:focus {
  outline: none;
  border-color: #0038ff;
  box-shadow: 0 0 0 3px rgba(0, 56, 255, 0.15);
}

#frmAutenticacao input:user-invalid {
  border-color: #e93d3d;
}

#frmAutenticacao > a {
  align-self: flex-end;
  margin-top: -6px;
  font-size: 13px;
  color: #0038ff;
  text-decoration: none;
  cursor: pointer;
}

#frmAutenticacao > a:hover {
  text-decoration: underline;
}

#frmAutenticacao > br {
  display: none;
}

#frmAutenticacao button[type="submit"] {
  display: block;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
  height: 46px;
  margin-top: 4px;
  border: 0;
  border-radius: 8px;
  background: #172d4c;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  font-family: inherit;
  letter-spacing: 0.2px;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.05s ease;
}

#frmAutenticacao button[type="submit"]:hover {
  background: #0038ff;
}

#frmAutenticacao button[type="submit"]:active {
  transform: translateY(1px);
}

#frmAutenticacao button[type="submit"]:focus-visible {
  outline: 3px solid rgba(0, 56, 255, 0.35);
  outline-offset: 2px;
}

@media (max-width: 480px) {
  #frmAutenticacao {
    width: 100% !important;
  }
}

/* Wrappers do custom code do GHL encolhem para o conteúdo e deixam o form
   estreito no celular; forçar largura total dos containers que contêm o form. */
.c-custom-code:has(#frmAutenticacao),
.custom-code-container:has(#frmAutenticacao) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* No celular, campos ocupam toda a largura do card */
@media (max-width: 480px) {
  #frmAutenticacao {
    width: 100% !important;
    padding: 0 22px !important;
    box-sizing: border-box;
  }
  #frmAutenticacao input[type="text"],
  #frmAutenticacao input[type="password"],
  #frmAutenticacao button[type="submit"] {
    width: 100% !important;
    max-width: 100%;
  }
}

/* Desktop: centraliza o form dentro do card (o wrapper do GHL o deixava colado à esquerda) */
#frmAutenticacao {
  margin-left: auto !important;
  margin-right: auto !important;
}
