/* /public/front/css/legal.css */
.legal-header {
  background: var(--gradient);
  color: #fff;
  padding: 6rem 0 4rem;
  position: relative;
  overflow: hidden;
}
.legal-header::after { display: none !important; }
.header-content { text-align: center; max-width: 900px; margin: 0 auto; }
.page-title { font-size: 3rem; font-weight: 800; margin-bottom: .5rem; }
.page-subtitle { font-size: 1.1rem; opacity: .95; }

.legal-layout { display: grid; grid-template-columns: 280px 1fr; gap: 1.5rem; margin-top: -2rem; }
.glass {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  box-shadow: 0 10px 30px -10px rgba(0,0,0,.15);
  backdrop-filter: saturate(140%) blur(8px);
}
.legal-toc { position: sticky; top: 90px; height: fit-content; padding: 1rem; }
.toc-title { font-weight: 700; margin-bottom: .75rem; display:flex; align-items:center; gap:.5rem; }
.legal-toc nav { display:flex; flex-direction:column; gap:.25rem; }
.legal-toc a { padding:.45rem .6rem; border-radius:.5rem; color: var(--dark); text-decoration:none; }
.legal-toc a:hover { background: rgba(0,0,0,.04); }
.legal-content { display:flex; flex-direction:column; gap:1rem; }
.section { padding: 1.2rem 1.25rem; }
.section h2 { margin: 0 0 .5rem; font-size: 1.6rem; }
.legal-list { margin: .4rem 0 0; padding-left: 1.25rem; }
.legal-list li { color: var(--secondary); margin: .2rem 0; }
.mono { font-family: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace; }
.table-wrap { overflow:auto; border-radius:.75rem; border:1px solid rgba(0,0,0,.06); }
.def-table { width:100%; border-collapse:collapse; font-size:.95rem; }
.def-table th, .def-table td { padding:.6rem .75rem; border-bottom:1px solid rgba(0,0,0,.06); text-align:left; }
.def-table thead th { background: var(--light); font-weight:700; }
.legal-updated { margin: .25rem 0 1rem; color: var(--secondary); font-size:.9rem; }

@media (max-width: 1024px) {
  .legal-layout { grid-template-columns: 1fr; }
  .page-title { font-size: 2.4rem; }
}
@media (max-width: 768px) {
  .legal-header { padding: 4rem 0 3rem; }
  .page-title { font-size: 2rem; }
  .page-subtitle { font-size: 1rem; }
}
