/* Юридические документы — общий стиль страниц /legal/ (демо «Сервис психологов aulov») */
:root {
  --bg: #F5EDD8;
  --paper: #FFFFFF;
  --ink: #1A1A1A;
  --ink-2: #4A4A4A;
  --ink-3: #7A7A7A;
  --primary: #4A7A47;
  --sage: #8FA890;
  --line: #E6DCC4;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}
a { color: var(--primary); }
.topbar {
  position: sticky; top: 0; z-index: 5;
  background: rgba(245, 237, 216, .94);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.topbar__inner {
  max-width: 880px; margin: 0 auto; padding: 12px 16px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.logo {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.45rem; font-weight: 700; color: var(--primary); text-decoration: none; white-space: nowrap;
}
.topbar__back { font-size: .85rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.docnav {
  max-width: 880px; margin: 16px auto 0; padding: 0 16px;
  display: flex; flex-wrap: wrap; gap: 8px;
}
.docnav a {
  font-size: .8rem; font-weight: 600; text-decoration: none;
  padding: 7px 12px; border-radius: 999px; background: rgba(255,255,255,.6);
  border: 1px solid var(--line); color: var(--ink-2);
}
.docnav a[aria-current="page"] { background: var(--primary); border-color: var(--primary); color: #fff; }
.doc {
  max-width: 880px; margin: 16px auto 32px; padding: 32px 40px;
  background: var(--paper); border-radius: 20px;
  box-shadow: 0 10px 40px rgba(74, 122, 71, .08);
}
.doc__edition { text-align: right; color: var(--ink-3); font-size: .85rem; margin: 0 0 8px; }
.doc h1 {
  font-size: 1.35rem; line-height: 1.35; text-align: center; text-transform: uppercase;
  letter-spacing: .02em; margin: 8px 0 20px;
}
.doc h2 {
  font-size: 1rem; text-align: center; text-transform: uppercase; letter-spacing: .03em;
  margin: 28px 0 12px; color: var(--primary);
}
.doc p { margin: 0 0 10px; text-align: justify; hyphens: auto; }
.doc p.sub { padding-left: 18px; }
.doc ul.dash { list-style: none; margin: 0 0 10px; padding-left: 18px; }
.doc ul.dash li { position: relative; padding-left: 16px; margin-bottom: 4px; }
.doc ul.dash li::before { content: "–"; position: absolute; left: 0; color: var(--ink-3); }
.doc .lead { text-align: justify; }
.requisites {
  margin-top: 28px; padding: 18px 22px; border-radius: 14px; background: #FAF6EC; border: 1px solid var(--line);
}
.requisites h2 { margin-top: 0; }
.requisites p { margin: 0 0 4px; text-align: left; }
.doc-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.doc-list a {
  display: block; padding: 16px 18px; border-radius: 14px; border: 1px solid var(--line);
  text-decoration: none; color: var(--ink); background: #FDFBF6;
}
.doc-list a:hover { border-color: var(--sage); }
.doc-list b { display: block; color: var(--primary); margin-bottom: 2px; }
.doc-list span { font-size: .85rem; color: var(--ink-2); }
.footer {
  max-width: 880px; margin: 0 auto 32px; padding: 0 16px;
  font-size: .8rem; color: var(--ink-3); text-align: center;
}
.print-btn {
  border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 12px;
  font: inherit; font-size: .8rem; font-weight: 600; color: var(--ink-2); cursor: pointer;
}
@media (max-width: 640px) {
  body { font-size: 14px; }
  .doc { padding: 22px 16px; border-radius: 16px; margin: 12px 8px 24px; }
  .doc p { text-align: left; }
  .doc h1 { font-size: 1.1rem; }
  .print-btn { display: none; }
}
@media print {
  body { background: #fff; font-size: 12pt; }
  .topbar, .docnav, .footer, .print-btn { display: none; }
  .doc { box-shadow: none; margin: 0; padding: 0; max-width: none; }
}
