/* =========================
   Legal pages styling (Privacy Policy & Terms)
   ========================= */

/* ensure header overlap handled like other pages */
main { padding-top: 76px; }

/* Page title */
.page-title {
  font-family: "Orbitron", sans-serif;
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  margin: 0 0 6px;
}
.legal-updated { color: var(--muted); margin: 0 0 10px; }

/* Layout */
.legal-toc {
  max-width: 1240px; margin: 0 auto 10px;
  border: 1px solid var(--line); border-radius: 18px; padding: 12px 14px;
  background:
    linear-gradient(135deg, rgba(94,247,255,.05), rgba(255,77,248,.05)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03), rgba(255,255,255,.03) 6px, transparent 6px, transparent 12px);
  box-shadow: var(--shadow);
}
.legal-toc .toc-title { margin: 0 0 6px; font-weight: 800; }
.legal-toc nav ol {
  margin: 0; padding-left: 18px; columns: 2; column-gap: 24px;
}
.legal-toc a { color: var(--ink); text-decoration: none; border-bottom: 1px dashed rgba(255,255,255,.25); }
.legal-toc a:hover { border-color: rgba(255,255,255,.5); }

.legal-section {
  max-width: 1240px; margin: 0 auto 14px; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: 18px;
  background: linear-gradient(135deg, rgba(94,247,255,.06), rgba(255,77,248,.06));
  box-shadow: var(--shadow);
}
.legal-section h2 { margin: 0 0 6px; font-weight: 800; }
.legal-list { margin: 0; padding-left: 18px; color: var(--muted); }
.legal-address { font-style: normal; color: var(--muted); }

/* Callouts */
.callout {
  margin-top: 8px; border-radius: 12px; padding: 10px 12px; border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}
.callout.info   { box-shadow: 0 0 0 1px rgba(94,247,255,.25) inset; }
.callout.tip    { box-shadow: 0 0 0 1px rgba(168,255,96,.25) inset; }
.callout.neutral{ box-shadow: 0 0 0 1px rgba(255,255,255,.15) inset; }

/* Details & tables */
.legal-details summary { cursor: pointer; font-weight: 700; }
.legal-table {
  width: 100%; border-collapse: collapse; margin-top: 8px;
  border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
}
.legal-table th, .legal-table td {
  padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: left;
}
.legal-table thead th { background: rgba(255,255,255,.04); }

/* Reveal on scroll baseline (if global is late) */
.reveal-on-scroll { opacity: 0; transform: translateY(18px) scale(.98); transition: opacity 600ms ease, transform 600ms ease; }
.reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0) scale(1); }

/* Footer active link */
.footer-links .is-active { border-bottom: 1px solid rgba(255,255,255,.4); }

/* Responsive */
@media (max-width: 980px){
  .legal-toc nav ol { columns: 1; }
}
