
/* ===== Legal Page Layout ===== */
.legal-page.container{
  max-width:1200px;
  margin:0 auto;
  padding:24px 16px 60px;
  color:var(--color-text);
}
.legal-head{ margin:0 0 8px;  }
.legal-title{
  margin:0 0 6px;
  font-size:clamp(24px, 3.4vw, 40px);
  font-weight:800; color:var(--primary);
}
.legal-meta{ color:var(--color-muted); font-size:.875rem; }

/* Grid */
.legal-layout{
  display:grid;
  grid-template-columns: minmax(0, 350px) 1fr;
  gap:50px;
  align-items:start;
}

/* ===== TOC ===== */
.legal-toc{ 
    position:sticky; 
    top: 160px;
 }
.toc-card{
  background:#fff; border:1px solid var(--color-border);
  border-radius:4px; overflow:hidden;
}
.toc-list{ list-style:none; margin:0; padding:6px 0; }
.toc-item{ position:relative; }
.toc-link{
  display:block; padding:12px 14px;
  text-decoration:none; color:var(--color-text);
  font-size:.875rem; font-weight:600;
  background:#fff; border-top:1px solid var(--color-border);
  transition:background .18s ease,color .18s ease;
  line-height:1.35;
}
.toc-item:first-child .toc-link{ border-top:none; }
.toc-item.is-active > .toc-link{
  background:var(--color-bg-soft);
  color:var(--color-primary);
  font-weight:700;
}

/* ===== Article ===== */
.legal-article{ background:#fff; }
.legal-content{
  line-height:1.75;
}
.legal-content p{ margin:0 0 1.1em; }
.legal-content img{ max-width:100%; height:auto; display:block; margin:22px 0; }
.legal-content .legal-heading{
  margin:1.6em 0 .6em; font-weight:800;
}
.legal-content a{ color:var(--color-primary); text-decoration:none; }
.legal-content a:hover{ color:var(--color-text); }

/* ===== Responsive ===== */
@media (max-width: 900px){
  .legal-layout{ grid-template-columns:1fr; }
  .legal-toc{ position:relative; top:auto; }
  .toc-card{ margin-bottom:18px; }
}
