/* ============================================================
   INPRÓS — newsletter no topo do rodapé (todas as páginas)
   Usa os tokens de base.css. Carregado pelo próprio rodapé.
   ============================================================ */
.newsletter {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: end;
  padding-bottom: clamp(48px, 8vh, 96px);
  margin-bottom: clamp(48px, 8vh, 96px);
  border-bottom: 1px solid var(--linha);
}
.newsletter__titulo {
  font-size: clamp(2.4rem, 1.4rem + 3vw, 4.6rem);
  color: var(--branco);
  max-width: 11em;
}
.newsletter__texto p {
  margin-top: 16px;
  color: var(--branco-2);
  max-width: 42ch;
}
.newsletter__campos {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) auto;
  gap: 12px;
  align-items: end;
}
.newsletter__campo {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.newsletter__campo label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--branco-2);
}
.newsletter__campo input {
  width: 100%;
  min-height: 56px;
  padding: 14px 18px;
  border: 1.5px solid var(--linha-forte);
  border-radius: 14px;
  background: rgba(243, 247, 250, 0.06);
  color: var(--branco);
  font: inherit;
  font-size: 1.0625rem;
  transition: border-color 0.25s, background-color 0.25s;
}
.newsletter__campo input:hover {
  border-color: var(--branco-2);
}
.newsletter__campo input:focus {
  outline: none;
  border-color: var(--luz);
  background: rgba(243, 247, 250, 0.1);
  box-shadow: 0 0 0 3px rgba(124, 192, 238, 0.28);
}
.newsletter__campo input[aria-invalid="true"] {
  border-color: var(--aurora);
}
.newsletter__botao {
  white-space: nowrap;
}
.newsletter__botao:disabled {
  opacity: 0.7;
  cursor: progress;
}
.newsletter__aceite {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 16px;
  color: var(--branco-2);
  font-size: 0.95rem;
  line-height: 1.5;
  cursor: pointer;
}
.newsletter__aceite input {
  flex: none;
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: var(--luz);
  cursor: pointer;
}
/* campo-isca: fora da tela para pessoas, visível para robôs */
.newsletter__isca {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.newsletter__aviso {
  min-height: 1.5em;
  margin-top: 14px;
  font-weight: 600;
}
.newsletter__aviso--ok {
  color: var(--luz);
}
.newsletter__aviso--erro {
  color: var(--aurora);
}

/* notebook / tablet: texto em cima, formulário embaixo */
@media (max-width: 1100px) {
  .newsletter {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }
}
/* celular: um campo por linha, botão largo */
@media (max-width: 640px) {
  .newsletter__campos {
    grid-template-columns: minmax(0, 1fr);
  }
  .newsletter__botao {
    width: 100%;
  }
}
