/* Telas da conta do cliente: formulários de uma coluna, erros junto do campo, abas e lista de endereços. Usa as
   variáveis de loja.css; de 360 a 1.920 px sem rolagem horizontal. */

.conta-pagina {
  max-width: 34rem;
  margin: 0 auto;
}

.conta-pagina.larga {
  max-width: 52rem;
}

.conta-pagina h1 {
  margin: 0 0 var(--espaco-4);
  font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
  line-height: 1.2;
}

.conta-pagina h2 {
  margin: var(--espaco-5) 0 var(--espaco-3);
  font-size: 1.25rem;
}

.formulario {
  display: grid;
  gap: var(--espaco-3);
}

.campo {
  display: grid;
  gap: var(--espaco-1);
  margin: 0;
}

.campo label {
  font-weight: 600;
}

.campo input,
.campo select {
  width: 100%;
  min-height: var(--alvo-minimo);
  padding: 0 var(--espaco-3);
  font: inherit;
  color: var(--cor-texto);
  background: var(--cor-fundo);
  border: 1px solid var(--cor-texto-suave);
  border-radius: var(--raio);
}

.campo.com-erro input,
.campo.com-erro select {
  border-color: var(--cor-erro);
  border-width: 2px;
}

.campo.caixa {
  grid-template-columns: auto 1fr;
  align-items: start;
  column-gap: var(--espaco-2);
}

.campo.caixa input {
  width: 1.375rem;
  min-height: 1.375rem;
  margin: 0.125rem 0 0;
}

.campo.caixa label {
  font-weight: 400;
}

.campo.caixa .errorlist {
  grid-column: 1 / -1;
}

.errorlist {
  margin: 0;
  padding: 0;
  color: var(--cor-erro);
  font-weight: 600;
  list-style: none;
}

.erro,
.aviso {
  margin: 0 0 var(--espaco-3);
  padding: var(--espaco-2) var(--espaco-3);
  border-radius: var(--raio);
}

.erro {
  color: var(--cor-erro);
  background: var(--cor-erro-fundo);
  border: 1px solid var(--cor-erro);
}

.aviso {
  color: var(--cor-sucesso);
  background: var(--cor-sucesso-fundo);
  border: 1px solid var(--cor-sucesso);
}

.acoes-do-erro {
  margin: 0;
}

.formulario button,
.conta-pagina .botao {
  justify-self: start;
  border: 0;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.botao.secundario {
  color: var(--cor-marca);
  background: var(--cor-fundo);
  border: 2px solid var(--cor-marca);
}

.outras-acoes {
  margin: var(--espaco-4) 0 0;
}

.outras-acoes a,
.acoes-do-erro a {
  display: inline-flex;
  align-items: center;
  min-height: var(--alvo-minimo);
}

.texto {
  margin: 0 0 var(--espaco-4);
}

/* Minha Conta: abas e os dados só de leitura */

.abas ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--espaco-2);
  margin: 0 0 var(--espaco-4);
  border-bottom: 1px solid var(--cor-borda);
}

.abas a {
  display: inline-flex;
  align-items: center;
  min-height: var(--alvo-minimo);
  padding: 0 var(--espaco-3);
  color: var(--cor-texto);
  text-decoration: none;
}

.abas a[aria-current="page"] {
  font-weight: 700;
  border-bottom: 3px solid var(--cor-marca);
}

.dados-da-conta {
  display: grid;
  gap: var(--espaco-2);
  margin: 0 0 var(--espaco-3);
}

.dados-da-conta dt {
  font-weight: 600;
}

.dados-da-conta dd {
  margin: 0;
}

.estado.confirmado {
  color: var(--cor-sucesso);
}

.estado.pendente {
  color: var(--cor-erro);
}

.formulario.em-linha {
  margin-bottom: var(--espaco-4);
}

/* Endereços */

.enderecos {
  display: grid;
  gap: var(--espaco-3);
  margin: 0 0 var(--espaco-4);
}

.endereco {
  padding: var(--espaco-3);
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio);
}

.endereco p {
  margin: 0 0 var(--espaco-2);
}

.selo {
  display: inline-block;
  margin-left: var(--espaco-2);
  padding: 0 var(--espaco-2);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--cor-marca-texto);
  background: var(--cor-marca);
  border-radius: 999px;
}

.acoes-do-endereco {
  display: flex;
  flex-wrap: wrap;
  gap: var(--espaco-2);
}

.acoes-do-endereco form {
  display: inline;
}

.erro-cep {
  margin: 0;
  color: var(--cor-erro);
  font-weight: 600;
}

.erro-cep:empty {
  display: none;
}

/* Privacidade: a confirmação da exclusão, mostrada pelo privacidade.js. O `hidden` vence o `display` dos botões. */

.conta-pagina [hidden] {
  display: none;
}

.confirmacao {
  display: grid;
  gap: var(--espaco-3);
  padding: var(--espaco-3);
  border: 2px solid var(--cor-erro);
  border-radius: var(--raio);
}

.confirmacao .texto {
  margin: 0;
  font-weight: 600;
}

.confirmacao .acoes {
  display: flex;
  flex-wrap: wrap;
  gap: var(--espaco-3);
}

/* Aceite dos documentos (F13): a lista dos documentos com marcador e "Aceitar" e "Sair" separados do texto. */

.documentos {
  margin: 0 0 var(--espaco-4);
  padding-left: var(--espaco-4);
  list-style: disc;
}

.documentos a {
  display: inline-flex;
  align-items: center;
  min-height: var(--alvo-minimo);
}

.aceite .formulario {
  margin: 0 0 var(--espaco-3);
}
