
.flash {
  margin: 1em 0; 
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 16px;
  transition: opacity .35s ease;
}

.flash--success {
  color: #a6ce39;
}

.flash--error {
  color: #e31b22;
}

/* =====================
	 FORM
	 ===================== */
.form-codigo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
	margin-top: 25px;
}

.footer {
  margin-top: -13px;
}

/* Container do input e do botão */


/* ======================
	 INPUT
	 ====================== */
.input-codigo {
  width: 100%;
  padding: 11px 10px 9px 10px;
  font-size: 16px;
  border-radius: 99px;
  border: none;
  background: white;
  color: #000000;
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  box-sizing: border-box;
}

.input-codigo:focus {
  outline: none;
  box-shadow: none;
}

input:-webkit-autofill {
  box-shadow: 0 0 0px 1000px white inset !important;
  -webkit-box-shadow: 0 0 0px 1000px white inset !important;
  -webkit-text-fill-color: #000 !important; /* ou outra cor de texto desejada */
}

.input-com-botao {
  position: relative;
  width: 120px; /* controla a largura visível do input */
}

/* ============================ */
.form-codigo-wrapper {
  margin-top: 0px;   /* espaço acima */
  margin-bottom: -12px;   /* ou menos, se precisares aproximar do footer */
  display: flex;
  justify-content: center;
}

.texto + .form-codigo-wrapper {
  margin-top: 1.4em; 
}

/* ==============================
	 PLACEHOLDER
	 ============================== */
.input-codigo::placeholder {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: #cccccc;
  font-weight: 300;
  opacity: 1;
}

.input-codigo::-webkit-input-placeholder {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: #cccccc;
  font-weight: 300;
  opacity: 1;
}

.input-codigo:-moz-placeholder {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: #cccccc;
  font-weight: 300;
  opacity: 1;
}

.input-codigo::-moz-placeholder {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: #cccccc;
  font-weight: 300;
  opacity: 1;
}

.input-codigo:-ms-input-placeholder {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: #cccccc;
  font-weight: 300;
  opacity: 1;
}

/* =============================
	 BOTÃO ACEDER
	 ============================= */
.botao-aceder {
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  margin-left: 10px;
  background: none;
  border: none;
  color: white;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.3s ease;
  white-space: nowrap;
}

.botao-aceder:hover {
  color: #e31b22;
}

/* =========================
	 ERRO
	 ========================= */
.mensagem-erro {
  text-align: center;
  color: #e31b22;
  font: 700 12px/1.5 'Inter', sans-serif;
  margin: 0;
  margin-top: 0;
  line-height: 1.6;
  white-space: pre-line; /* respeita \n */
}

.mensagem-erro a.err-mail {
  color: #e31b22;       /* vermelho igual ao texto */
  font-weight: 700;     /* mantém bold */
  text-decoration: none; /* sem sublinhado */
}

.mensagem-erro a.err-mail:hover,
.mensagem-erro a.err-mail:focus-visible {
  color: #b71c1c;       /* vermelho mais escuro no hover */
  text-decoration: none; /* continua sem sublinhado */
}

/* =============================== */

@media (max-width: 767px) 
{

  .input-codigo::placeholder,
  .input-codigo::-webkit-input-placeholder,
  .input-codigo:-moz-placeholder,
  .input-codigo::-moz-placeholder,
  .input-codigo:-ms-input-placeholder {
    font-size: 14px;
  }
  
	.texto + .form-codigo-wrapper {
  	margin-top: 1em; /* valor ajustável conforme o visual */
	}

  .mensagem-erro {
  	font-size: 10px;
  	margin-top: 10px;
	}
	
	.footer {
  	margin-top: 0px;
	}

	.botao-aceder:hover {
  	color: #ffffff;
	}
}
