/* F5.1 — páginas legais, aviso de texto provisório, aceite e rodapé. */
.legal-provisional {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  margin: 0 0 1.5rem;
  padding: 1rem 1.1rem;
  border: 2px dashed #f59e0b;
  border-radius: .85rem;
  color: #fde68a;
  background: rgba(245, 158, 11, .12);
  font-size: .85rem;
  line-height: 1.5;
}
.legal-provisional i { font-size: 1.2rem; }
.legal-provisional strong { display: block; text-transform: uppercase; letter-spacing: .06em; }
html[data-theme="light"] .legal-provisional { color: #78350f; background: #fef3c7; }
.legal-tag {
  display: inline-block;
  margin-left: .35rem;
  padding: .05rem .4rem;
  border-radius: .4rem;
  color: #fde68a;
  background: rgba(245, 158, 11, .18);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
html[data-theme="light"] .legal-tag { color: #78350f; background: #fef3c7; }

.legal-page-shell { max-width: 48rem; margin: 0 auto; padding: 2rem 1.25rem 3rem; }
.legal-page-shell .auth-brand { margin-bottom: 2rem; color: var(--axis-text); }
.legal-article { color: var(--axis-text); line-height: 1.7; font-size: .95rem; }
.legal-article h1 { margin: .3rem 0 .4rem; font-size: 2rem; letter-spacing: -.035em; }
.legal-article h2 { margin: 2rem 0 .5rem; font-size: 1.15rem; }
.legal-article ul { padding-left: 1.25rem; }
.legal-article a { color: #92a8ff; }
.legal-meta { color: var(--axis-muted); font-size: .8rem; }

.legal-consent { display: flex; gap: .65rem; align-items: flex-start; font-size: .8rem; line-height: 1.5; }
/* Alvo de toque de 24px no aceite (WCAG 2.5.8): a caixa nascia com 18px e o
   link dos termos, solto no meio da frase, com 15px de altura. */
.legal-consent input[type="checkbox"] { width: 24px; height: 24px; flex-shrink: 0; accent-color: var(--color-brand-500, #6366f1); }
.legal-consent a { display: inline-flex; align-items: center; min-height: 24px; }
.legal-consent input { width: 1.1rem; height: 1.1rem; margin-top: .15rem; flex: none; accent-color: var(--axis-primary); }
.legal-consent a { color: #92a8ff; font-weight: 600; }
.legal-consent.has-error { color: #fda4af; }
.legal-pending { display: grid; gap: .5rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
.legal-pending a { color: #92a8ff; font-weight: 600; }
.legal-exit { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid var(--axis-border); color: var(--axis-muted); font-size: .76rem; }
.legal-exit summary { cursor: pointer; }
.legal-exit a, .legal-exit .link-button { color: #92a8ff; font-weight: 600; }
.legal-exit .link-button { padding: 0; border: 0; background: none; cursor: pointer; font: inherit; }
.legal-exit form { margin-top: .75rem; }
.legal-exit .auth-form { gap: .75rem; }

.legal-footer {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1rem;
  justify-content: center;
  margin-top: 2.5rem;
  padding: 1rem 0 .5rem;
  border-top: 1px solid var(--axis-border);
  color: var(--axis-muted);
  font-size: .8rem;
}
.legal-footer a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  /* Alvo de toque de 24px (WCAG 2.5.8): com o texto solto, o link tinha 18px
     de altura e exigia mira no celular. */
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}
.auth-panel .legal-footer { width: min(27rem, 100%); }
