/* Legal pages: privacy policy, terms.
   Long-form reading rather than app chrome, so the measure is narrow, the
   line height taller, and there is no tab bar to leave room for. */

/* SCOPED TO THE STANDALONE PAGES, and it has to be.
   
   This file is also loaded by index.html, which needs the .legal typography
   for the in-app legal routes -- and index.html IS the app, with a fixed
   .tabbar along the bottom. An unscoped `body { padding-bottom: 0 }` here
   loads after styles.css and beats its `padding-bottom: 72px` at every
   viewport width, so the last element on every app screen ended up behind
   the tab bar: on the sell form that is the "Publicar artigo" button, which
   was invisible and untappable on a phone. */
body.legal-page { padding-bottom: 0; }

.legal {
  max-width: 44rem;
  margin: 0 auto;
  padding: 1.5rem 1.15rem 4rem;
  line-height: 1.7;
}

.legal h1 { font-size: 1.6rem; margin-bottom: .25rem; }
.legal h2 {
  font-size: 1.15rem; margin: 2rem 0 .5rem;
  padding-top: 1.2rem; border-top: 1px solid var(--line);
}
.legal h3 { font-size: .98rem; margin: 1.3rem 0 .4rem; color: var(--green-dark); }

.legal .updated { color: var(--muted); font-size: .85rem; margin-bottom: 1.2rem; }
.legal .lede { font-size: 1.02rem; }

.legal ul { padding-left: 1.2rem; margin: .5rem 0 1rem; }
.legal li { margin-bottom: .45rem; }

.legal a { color: var(--green-dark); text-decoration: underline; }

.legal .panel ul { margin-bottom: 0; }
/* Direct child only. Without the `>` this also caught bold words INSIDE list
   items and threw each onto its own line mid-sentence. */
.legal .panel > strong { display: block; margin-bottom: .3rem; }

.legal-table {
  width: 100%; border-collapse: collapse; margin: .6rem 0 1rem;
  font-size: .9rem; display: block; overflow-x: auto;
}
.legal-table th, .legal-table td {
  text-align: left; padding: .55rem .7rem; border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.legal-table th {
  font-size: .72rem; text-transform: uppercase; letter-spacing: .06em;
  color: var(--muted); font-weight: 600;
}
.legal-table tr:last-child td { border-bottom: 0; }

.legal .muted { font-size: .88rem; }
.legal .foot { margin-top: 2.5rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }

/* Link out to the policy from inside the app. Quiet on purpose: it must be
   findable, not prominent. */
.legal-links { text-align: center; margin-top: 1.25rem; font-size: .85rem; }
.legal-links a { color: var(--muted); text-decoration: underline; }

/* FAQ: <details>/<summary> is natively keyboard-operable (Enter/Space
   toggles a focused summary) with no JS required — same reasoning as the
   seller-chooser's own "O que vai precisar?" checklist in styles.css. */
.faq-item {
  border: 1px solid var(--line); border-radius: .6rem;
  padding: .7rem .9rem; margin-bottom: .6rem;
}
.faq-item summary {
  cursor: pointer; font-weight: 600; list-style: none;
  display: flex; align-items: baseline; gap: .4rem;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::before { content: '+'; color: var(--green-dark); font-weight: 700; }
.faq-item[open] summary::before { content: '–'; }
.faq-item p { margin: .5rem 0 0; }
