/**
 * css/legal.css - shared layout of the legal pages (/privacy, /terms)
 *
 * A wider, left-aligned variant of the login glass card. Loaded after
 * login.css, whose tokens and card it builds on.
 */

.card.policy {
  max-width: 860px;
  text-align: left;
  padding: 2.5rem 3rem;
  position: relative;
}
.policy .close-x {
  position: absolute; top: 1.1rem; right: 1.1rem;
  width: 2.1rem; height: 2.1rem;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--border); border-radius: 8px;
  color: var(--muted); text-decoration: none;
  font-family: var(--mono); font-size: 1.05rem; line-height: 1;
  transition: color .15s, border-color .15s;
}
.policy .close-x:hover { color: var(--accent); border-color: var(--accent); }
/* Keep the language buttons clear of the close button */
.policy .lang-switcher { margin-right: 2.9rem; }
.policy h1 { font-size: 1.5rem; font-weight: 650; letter-spacing: -.02em; margin-bottom: .25rem; text-wrap: balance; }
.policy h1 .accent { color: var(--accent); }
.policy .updated { color: var(--muted); font-size: .8rem; margin-bottom: 1.5rem; }
.policy h2 {
  font-size: 1rem; font-weight: 600; margin: 1.6rem 0 .5rem;
  padding-bottom: .3rem; border-bottom: 1px solid var(--border);
}
.policy p, .policy li { font-size: .88rem; line-height: 1.65; color: var(--text); text-wrap: pretty; }
.policy p  { margin-bottom: .65rem; }
.policy ul { margin: .25rem 0 .75rem 1.25rem; }
.policy li { margin-bottom: .35rem; }
.policy a  { color: var(--accent); }
.policy .muted { color: var(--muted); }
/* Back to the login page, and across to the other legal page. */
.policy .legal-nav {
  display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.75rem;
}
.policy .back-link {
  display: inline-block; font-size: .85rem;
  font-family: var(--mono); text-decoration: none;
}
@media (max-width: 600px) {
  .card.policy { padding: 1.75rem 1.4rem; }
}
