/* Telas legais, aceite, aviso de teste e feedback. */

.aviso-email {
  margin: 0;
  padding: 0.75rem 1rem;
  background: #991b1b;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.4;
}

.faixa-teste {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin: 0;
  padding: 0.35rem 0.75rem;
  background: #f6d98a;
  color: #1f1404;
}

.faixa-teste p {
  flex: 1;
  margin: 0;
  font-weight: 700;
  line-height: 1.35;
}

.faixa-teste-curta {
  display: none;
}

.faixa-teste-link,
.faixa-teste-fechar {
  min-height: 44px;
  margin: 0;
  padding: 0.35rem 0.7rem;
  border: 0;
  background: transparent;
  color: #1f1404;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}

.faixa-teste-fechar {
  flex: 0 0 auto;
  min-width: 44px;
  padding: 0.35rem;
  font-size: 1.4rem;
  line-height: 1;
  text-decoration: none;
}

.faixa-teste-link:focus-visible,
.faixa-teste-fechar:focus-visible {
  outline: 3px solid #1f1404;
  outline-offset: 2px;
}

.legal-obrigado {
  margin: 0;
  padding: 0.75rem 1rem;
  background: var(--superficie);
  color: var(--texto);
  font-weight: 700;
}

.botao-feedback {
  position: fixed;
  right: 0.75rem;
  bottom: calc(5.4rem + env(safe-area-inset-bottom));
  z-index: 3;
  display: flex;
  gap: 0.35rem;
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0.55rem 0.85rem;
  border: 0;
  border-radius: 999px;
  background: #17365d;
  color: #ffffff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(23, 32, 51, 0.28);
}

.botao-feedback svg {
  width: 1.25rem;
  height: 1.25rem;
}

.botao-feedback-texto {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.botao-feedback:focus-visible {
  outline: 3px solid var(--azul-acao);
  outline-offset: 3px;
}

main {
  padding-bottom: calc(9rem + env(safe-area-inset-bottom));
}

.menu button.menu-rodape {
  margin-top: auto;
  font-size: 0.95rem;
  font-weight: 600;
}

.menu button.menu-rodape:not([aria-current="page"]) {
  color: var(--texto-secundario);
}

.link-discreto {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0 0 0.75rem;
  padding: 0.35rem 0;
  border: 0;
  background: transparent;
  color: var(--azul-acao);
  font: inherit;
  font-weight: 700;
  text-align: left;
  text-decoration: underline;
  cursor: pointer;
}

.link-discreto:focus-visible,
.legal-indice-item:focus-visible,
.legal-email:focus-visible {
  outline: 3px solid var(--azul-acao);
  outline-offset: 2px;
}

.legal-barra {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
}

.legal-versao,
.legal-versao-app,
.legal-nome {
  margin: 0 0 0.75rem;
}

.legal-nome {
  color: var(--azul-marinho);
  font-size: 1.35rem;
  font-weight: 700;
}

.legal-selo {
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: #f6d98a;
  color: #1f1404;
  font-size: 0.95rem;
  font-weight: 700;
  vertical-align: middle;
}

.legal-resumo {
  margin: 0 0 1rem;
  padding: 0.9rem 1rem;
  border: 2px solid var(--azul-marinho);
  border-radius: 0.85rem;
  background: var(--superficie);
}

.legal-resumo-rotulo {
  margin: 0 0 0.35rem;
  font-weight: 700;
}

.legal-resumo ul {
  margin: 0.35rem 0 0.75rem;
  padding-left: 1.2rem;
}

.legal-indice {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0 0 0.75rem;
}

.legal-resumo li {
  margin: 0.35rem 0;
}

.legal-indice-item {
  min-height: 44px;
  margin: 0;
  padding: 0.35rem 0;
  border: 0;
  background: transparent;
  color: var(--azul-acao);
  font: inherit;
  font-weight: 700;
  text-align: left;
  text-decoration: underline;
  cursor: pointer;
}

.legal-secao {
  scroll-margin-top: 1rem;
}

.legal-secao h2,
#sobre h2 {
  margin: 1.1rem 0 0.4rem;
  color: var(--azul-marinho);
  font-size: 1.2rem;
}

.legal-email {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--azul-acao);
  font-weight: 700;
}

.legal-copy {
  margin-top: 1.25rem;
  color: var(--texto-secundario);
}

.legal-fundo {
  position: fixed;
  z-index: 8;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0.75rem;
  background: rgba(15, 23, 42, 0.55);
}

.legal-dialogo {
  width: min(40rem, 100%);
  max-height: calc(100vh - 1.5rem);
  overflow: auto;
  padding: 1rem;
  border-radius: 1rem 1rem 0 0;
  background: var(--superficie);
  color: var(--texto);
}

.legal-dialogo h2 {
  margin: 0 0 0.75rem;
  color: var(--azul-marinho);
}

.legal-aceite-acoes,
.legal-dialogo-acoes {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.legal-tipos {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0 0 0.75rem;
}

.legal-opcao,
.legal-campo {
  display: flex;
  gap: 0.55rem;
  align-items: center;
  min-height: 44px;
  font-weight: 700;
}

.legal-campo {
  margin-top: 0.35rem;
}

.legal-dialogo textarea,
.legal-dialogo input[type="email"] {
  width: 100%;
  margin: 0 0 0.35rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--borda);
  border-radius: 0.7rem;
  background: var(--fundo);
  color: var(--texto);
  font: inherit;
}

.legal-dialogo textarea {
  min-height: 8rem;
  resize: vertical;
}

.legal-contador,
.legal-aviso-form {
  margin: 0 0 0.6rem;
  color: var(--texto-secundario);
}

.legal-aviso-form {
  color: var(--erro);
  font-weight: 700;
}

.legal-info,
.legal-copia {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.legal-info {
  margin: 0 0 0.75rem;
  padding: 0.75rem;
  border-radius: 0.7rem;
  background: var(--fundo);
  color: var(--texto);
  font: inherit;
}

.botao-perigo {
  border-color: #991b1b;
  background: #991b1b;
  color: #ffffff;
}

.botao-perigo:focus-visible {
  outline: 3px solid var(--azul-acao);
  outline-offset: 2px;
}

@media (max-width: 767px) {
  .faixa-teste-longa {
    display: none;
  }

  .faixa-teste-curta {
    display: block;
    flex: 1;
  }

  .menu button.menu-rodape {
    display: none;
  }
}

@media (min-width: 768px) {
  .botao-feedback {
    bottom: 1.25rem;
  }

  main {
    padding-bottom: 5.5rem;
  }

  .legal-fundo {
    align-items: center;
  }

  .legal-dialogo {
    border-radius: 1rem;
  }
}

@media print {
  body.imprimir-legal .aviso-email,
  body.imprimir-legal .faixa-teste,
  body.imprimir-legal .legal-obrigado,
  body.imprimir-legal .botao-feedback,
  body.imprimir-legal .legal-fundo,
  body.imprimir-legal .lateral,
  body.imprimir-legal .menu-celular,
  body.imprimir-legal .folha-mais,
  body.imprimir-legal .folha-mais-fundo,
  body.imprimir-legal .legal-so-tela,
  body.imprimir-legal .tela:not(.tela-impressa) {
    display: none !important;
  }

  body.imprimir-legal main {
    padding: 0 !important;
  }

  body.imprimir-legal .tela-impressa {
    display: block !important;
  }
}
