/* Escopo do formulário */
#t23-pre-cadastro {
  --t23pc-primary: #2271b1;   /* azul WP */
  --t23pc-danger:  #d63638;   /* vermelho WP */
  --t23pc-gray:    #dcdcde;
  --t23pc-text:    #1d2327;
}

/* Campos base */
#t23-pre-cadastro .t23-pc-field {
  margin-bottom: 12px;
}
#t23-pre-cadastro label {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
  color: var(--t23pc-text);
}

/* Inputs/Selects responsivos e legíveis */
#t23-pre-cadastro input[type="text"],
#t23-pre-cadastro input[type="tel"],
#t23-pre-cadastro input[type="email"],
#t23-pre-cadastro input[type="date"],
#t23-pre-cadastro input[type="number"],
#t23-pre-cadastro select,
#t23-pre-cadastro textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid var(--t23pc-gray);
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.4;
  background: #fff;
  color: var(--t23pc-text);
}

/* Foco acessível (teclado) */
#t23-pre-cadastro input[type="text"]:focus-visible,
#t23-pre-cadastro input[type="tel"]:focus-visible,
#t23-pre-cadastro input[type="email"]:focus-visible,
#t23-pre-cadastro input[type="date"]:focus-visible,
#t23-pre-cadastro input[type="number"]:focus-visible,
#t23-pre-cadastro select:focus-visible,
#t23-pre-cadastro textarea:focus-visible {
  outline: 2px solid var(--t23pc-primary);
  outline-offset: 1px;
  box-shadow: 0 0 0 1px var(--t23pc-primary);
  border-color: var(--t23pc-primary);
}

/* Feedback leve de erro (nativo do browser) */
#t23-pre-cadastro input:invalid,
#t23-pre-cadastro select:invalid,
#t23-pre-cadastro textarea:invalid {
  outline: 2px solid rgba(214,54,56,.35);
  background: rgba(214,54,56,.03);
}

/* Hint/ajuda */
#t23-pre-cadastro small.t23-pc-help {
  display: block;
  font-size: 12px;
  opacity: .8;
  margin-top: 4px;
}

/* Checkbox LGPD bem alinhado */
#t23-pre-cadastro .t23-pc-lgpd label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  margin: 0;
}
#t23-pre-cadastro .t23-pc-lgpd input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
}

/* Botão primário */
#t23-pre-cadastro button[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 4px;
  border: 1px solid var(--t23pc-primary);
  background: var(--t23pc-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: transform .02s ease-in-out, filter .15s ease;
}
#t23-pre-cadastro button[type="submit"]:hover {
  filter: brightness(0.95);
}
#t23-pre-cadastro button[type="submit"]:active {
  transform: translateY(1px);
}
#t23-pre-cadastro button[type="submit"]:focus-visible {
  outline: 2px solid var(--t23pc-primary);
  outline-offset: 2px;
}

/* Estado desabilitado (quando o JS trava envio) */
#t23-pre-cadastro button[type="submit"][disabled],
#t23-pre-cadastro button[type="submit"][aria-disabled="true"] {
  opacity: .65;
  cursor: not-allowed;
  filter: grayscale(20%);
}

/* Autofill (Chrome/Safari) – mantém contraste do tema */
#t23-pre-cadastro input:-webkit-autofill,
#t23-pre-cadastro input:-webkit-autofill:hover,
#t23-pre-cadastro input:-webkit-autofill:focus,
#t23-pre-cadastro select:-webkit-autofill,
#t23-pre-cadastro textarea:-webkit-autofill {
  -webkit-text-fill-color: var(--t23pc-text);
  transition: background-color 9999s ease-out 0s;
  caret-color: var(--t23pc-text);
  background-clip: content-box;
}

/* Responsividade simples (não conflita com temas) */
@media (max-width: 480px) {
  #t23-pre-cadastro button[type="submit"] {
    width: 100%;
  }
}
