/* Юридические документы (/legal/{slug}). Общее (страница, шапка, подвал) в public-v2.css.
   Слева список документов и нить «сколько прочитано», справа текст на тёмной подложке; на телефоне нить сверху полоской. */

.lg-progress { position: fixed; z-index: 15; left: 0; right: 0; top: env(safe-area-inset-top, 0px); height: 3px; background: var(--surface-2); display: none; }
.lg-progress i { display: block; height: 100%; width: 0; background: var(--lime); }

.lgd-shell {
  display: grid;
  grid-template-columns: 240px 3px minmax(0, 820px);
  gap: 0 48px;
  align-items: start;
  padding: 36px max(var(--pad), env(safe-area-inset-right, 0px)) 24px max(var(--pad), env(safe-area-inset-left, 0px));
}
.lgd-nav { position: sticky; top: 28px; display: flex; flex-direction: column; gap: 2px; }
.lgd-label { font-size: var(--font-meta); color: var(--text-muted); margin-bottom: 8px; }
.lgd-nav a { padding: 9px 0; font-size: 16px; line-height: 1.3; color: var(--text-muted); text-decoration: none; }
.lgd-nav a:hover { color: var(--text-primary); }
.lgd-nav a[aria-current="page"] { color: var(--text-primary); font-weight: var(--weight-medium); }

.lgd-rail { position: sticky; top: 28px; height: calc(100vh - 56px); border-radius: 2px; background: var(--surface-2); overflow: hidden; }
.lgd-rail i { display: block; width: 100%; height: 0; background: var(--lime); }

.lgd-doc { min-width: 0; padding-bottom: 48px; }
.lgd-doc h1 { font-size: clamp(36px, 5vw, 64px); line-height: 0.98; font-weight: 400; letter-spacing: -0.03em; text-wrap: balance; overflow-wrap: anywhere; margin: 0 0 12px; }
.lgd-doc h2 { font-size: clamp(24px, 2.6vw, 30px); line-height: 1.1; font-weight: 400; letter-spacing: -0.02em; margin: 40px 0 14px; }
.lgd-doc p, .lgd-doc li { font-size: 17px; line-height: 1.7; color: var(--text-secondary); }
.lgd-doc p { margin: 0 0 12px; }
.lgd-doc a { text-underline-offset: 3px; color: var(--text-primary); }
.lgd-doc .legal-subtitle { margin-bottom: 8px; color: var(--text-secondary); font-size: 17px; font-weight: var(--weight-medium); }
.lgd-doc .legal-meta { margin-bottom: 24px; color: var(--text-muted); font-size: var(--font-small); }
.lgd-doc .legal-intro { margin-bottom: 8px; padding: 22px 26px; border-radius: var(--radius-card); background: var(--surface); color: var(--text-primary); font-size: 17px; line-height: 1.6; }
.lgd-doc .legal-clause { overflow-wrap: anywhere; }
.lgd-doc .legal-list { margin: 0 0 18px; padding-left: 24px; }
.lgd-doc .legal-list li { margin-bottom: 6px; }

@media (max-width: 899px) {
  .lg-progress { display: block; }
  .lgd-shell { display: block; padding-top: 20px; }
  .lgd-rail { display: none; }
  .lgd-nav { position: static; flex-direction: row; gap: 8px; overflow-x: auto; margin: 0 calc(-1 * var(--pad)) 20px; padding: 0 var(--pad); scrollbar-width: none; }
  .lgd-nav::-webkit-scrollbar { display: none; }
  .lgd-label { display: none; }
  .lgd-nav a { flex: none; height: 36px; padding: 0 16px; display: flex; align-items: center; border-radius: var(--radius-pill); background: var(--surface-2); color: var(--text-secondary); font-size: var(--font-small); white-space: nowrap; }
  .lgd-nav a[aria-current="page"] { background: var(--text-primary); color: var(--bg); }
  .lgd-doc .legal-intro { padding: 18px; }
  .lgd-doc p, .lgd-doc li { font-size: 16px; line-height: 1.65; }
}
