/* Páginas legais (privacy.html): coluna de leitura no visual do site.
   Usa as fontes, cores e variáveis de style.css; nada de palco aqui. */
body.legal { background: var(--bg); }
html:has(body.legal) { scroll-padding-top: 110px; }

.legal-bar { position: sticky; top: 14px; z-index: 20; display: flex; justify-content: center; padding: 0 12px; }
.legal-bar-in {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  width: min(820px, 100%); height: 58px; padding: 0 7px 0 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgb(255 255 255 / .18), rgb(255 255 255 / 0) 60%), rgb(255 255 255 / .7);
  border: 1px solid rgb(255 255 255 / .7);
  box-shadow: 0 4px 16px rgb(8 46 32 / .06);
  -webkit-backdrop-filter: blur(16px) saturate(160%); backdrop-filter: blur(16px) saturate(160%);
}
.legal-brand { display: flex; align-items: center; gap: 10px; border-radius: 999px; }
.legal-emblem { height: 42px; width: auto; display: block; }
.legal-word { height: 21px; width: auto; display: block; }
.legal-back {
  display: inline-flex; align-items: center; gap: 8px;
  height: 42px; padding: 0 18px; border-radius: 999px;
  color: var(--btn); font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap;
  background: rgb(255 255 255 / .7); box-shadow: inset 0 0 0 1.5px var(--btn);
  transition: background-color .3s var(--ease), color .3s var(--ease);
}
.legal-back svg { width: 18px; height: 18px; }
.legal-back:is(:active, :focus-visible) { background: var(--btn); color: #fff; outline: none; }
@media (hover: hover) { .legal-back:hover { background: var(--btn); color: #fff; } }
@media (max-width: 420px) { .legal-word { display: none; } }

.legal-main {
  width: min(720px, 100% - 40px);
  margin: 56px auto 72px;
  color: #33413A;
  font-size: 17px;
  line-height: 1.65;
}
.legal-main .legal-eyebrow { margin: 0 0 10px; font-size: 14px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: #3F6B4F; }
.legal-main h1 { margin: 0; font-size: clamp(40px, 7vw, 60px); line-height: 1.05; font-weight: 700; letter-spacing: -.02em; color: #082E20; }
.legal-main h1 em, .legal-main h2 em { font-family: "DM Serif Display", Georgia, serif; font-style: italic; font-weight: 400; color: var(--leaf-dark); }
.legal-main .legal-date { margin: 18px 0 28px; font-size: 15px; color: #4F5B57; }
.legal-lead { font-size: 19px; color: #26352D; }

.legal-toc {
  margin: 32px 0 8px; padding: 20px 24px;
  border-radius: 22px;
  background: rgb(255 255 255 / .6); border: 1px solid rgb(255 255 255 / .8);
}
.legal-toc ol { margin: 0; padding-left: 1.3em; columns: 2 220px; column-gap: 32px; }
.legal-main .legal-toc li { margin: 0 0 6px; break-inside: avoid; }
.legal-toc a, .legal-main section a { color: #17652B; text-underline-offset: 3px; }
.legal-toc a:hover, .legal-main section a:hover { color: var(--btn); }

.legal-main section { padding-top: 36px; }
.legal-main h2 { margin: 0 0 12px; font-size: 24px; line-height: 1.25; font-weight: 700; color: #082E20; }
.legal-main p { margin: 0 0 14px; }
.legal-main ul { margin: 0 0 14px; padding-left: 1.2em; }
.legal-main li { margin: 6px 0; }
.legal-main li::marker { color: var(--btn); }
.legal-main strong { color: #0B2118; font-weight: 600; }
.legal-addr { margin-top: 18px; padding: 16px 20px; border-left: 3px solid var(--btn); border-radius: 0 14px 14px 0; background: rgb(255 255 255 / .55); }

.legal-foot {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
  padding: 26px max(20px, calc((100% - 720px) / 2));
  background: linear-gradient(180deg, #0C4A28, #05301A);
  color: #E3EEDB; font-size: 14px;
}
.legal-foot p { margin: 0; }
.legal-foot a { color: #E3EEDB; text-decoration: none; }
.legal-foot a:hover { color: #B7E36A; }
