/* legal.css: shared by /oferta, /privacy, and the ФОП modal on every page.
   Loaded AFTER tokens.css and _kit.css. Consumes --lj-* tokens only. */

/* ---------- legal prose ---------- */
.lg-wrap{max-width:820px;margin:0 auto;padding:0 24px}
.lg-head{padding:clamp(40px,7vh,72px) 0 24px}
.lg-title{font-family:var(--lj-font-display);font-weight:900;
  font-size:var(--lj-fs-2xl);line-height:var(--lj-lh-snug);
  letter-spacing:var(--lj-track-tight);color:var(--lj-ink);margin:16px 0 12px;
  overflow-wrap:anywhere}
.lg-edition{font-family:var(--lj-font-mono);font-size:var(--lj-fs-xs);
  letter-spacing:.06em;color:var(--lj-muted)}
.lg-prose{padding-bottom:clamp(48px,8vh,88px)}
.lg-prose h2{font-family:var(--lj-font-display);font-weight:800;
  font-size:var(--lj-fs-lg);line-height:var(--lj-lh-snug);
  color:var(--lj-ink);margin:36px 0 12px}
.lg-prose p{font-size:var(--lj-fs-base);line-height:1.6;
  color:var(--lj-body);margin:0 0 12px}
.lg-prose ul{margin:0 0 12px;padding-left:22px}
.lg-prose li{font-size:var(--lj-fs-base);line-height:1.6;
  color:var(--lj-body);margin-bottom:8px}
.lg-prose strong{color:var(--lj-ink);font-weight:600}
.lg-lead{font-size:var(--lj-fs-md);line-height:1.55;color:var(--lj-body);
  margin:0 0 24px}

/* ---------- footer legal row (light pages) ---------- */
.lg-foot__links{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.lg-foot__link{font-family:var(--lj-font-body);font-size:var(--lj-fs-sm);
  color:var(--lj-muted);text-decoration:none;background:none;border:0;
  padding:0;cursor:pointer;transition:color var(--lj-dur) var(--lj-ease)}
.lg-foot__link:hover{color:var(--lj-ink)}
.lg-foot__link:focus-visible{outline:2px solid var(--lj-focus);
  outline-offset:3px;border-radius:var(--lj-radius-sm)}

/* ---------- ФОП modal ---------- */
.fop{border:0;padding:0;max-width:560px;width:calc(100% - 32px);
  border-radius:var(--lj-radius-lg);box-shadow:var(--lj-shadow-lg);
  background:var(--lj-surface);color:var(--lj-body)}
.fop::backdrop{background:rgba(20,20,15,.55)}
.fop__in{padding:32px}
.fop__title{font-family:var(--lj-font-display);font-weight:800;
  font-size:var(--lj-fs-lg);color:var(--lj-ink);margin:0 0 20px;
  letter-spacing:-0.02em}
.fop__row{display:grid;grid-template-columns:minmax(140px,34%) 1fr;gap:6px 16px;
  padding:10px 0;border-top:1px solid var(--lj-hairline)}
.fop__row:first-of-type{border-top:0}
.fop__k{font-family:var(--lj-font-mono);font-size:var(--lj-fs-xs);
  letter-spacing:.06em;text-transform:uppercase;color:var(--lj-muted)}
.fop__v{font-size:var(--lj-fs-base);color:var(--lj-ink);line-height:1.45;
  overflow-wrap:anywhere}
.fop__close{margin-top:24px}
@media(max-width:560px){
  .fop__in{padding:24px}
  .fop__row{grid-template-columns:1fr;gap:2px}
}
