/* =========================================================
   Юридические страницы: оферта, обработка данных, cookie.
   Титул продублирован из kodeks.css: эти страницы его
   стилевой файл не подключают и без него шапка «плывёт».
   ========================================================= */

/* ---- титул ---- */
.title{position:relative;padding-top:var(--s11);padding-bottom:var(--s9);overflow:hidden}
.title::before{
  content:"";position:absolute;left:50%;top:-420px;width:1240px;height:780px;transform:translateX(-50%);
  background:radial-gradient(50% 50% at 50% 50%,rgba(46,119,201,.10),rgba(46,119,201,0) 72%);pointer-events:none;
}
.title .wrap{position:relative;text-align:center}
.title h1 em{font-family:Literata,Georgia,serif;font-style:italic;font-weight:300;color:var(--blue)}
.title .sub{font-size:19px;color:var(--ink-mid);max-width:38em;margin:var(--s5) auto 0}
.title-actions{display:flex;gap:var(--s3);justify-content:center;flex-wrap:wrap;margin-top:var(--s7)}

/* ---- строка документа под шапкой ---- */
.docbar{border-bottom:1px solid var(--line);background:var(--sky)}
.docbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);min-height:48px;flex-wrap:wrap}
.docbar-l{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;font-size:13px;color:var(--ink-soft)}
.docbar-badge{
  height:24px;display:inline-flex;align-items:center;padding:0 var(--s3);border-radius:7px;
  background:#fff;border:1px solid var(--line-2);font-size:12px;font-weight:600;color:var(--ink-mid);
}
.docbar-ver{font-weight:600;color:var(--ink)}
.docbar-dot{width:4px;height:4px;border-radius:50%;background:var(--line-2);flex:none}
.docbar-link{font-size:13px;font-weight:600}

/* ---- оглавление ---- */
.doc-toc{
  margin-top:var(--s8);
  background:var(--sky);border-radius:var(--r-block);padding:var(--s6) var(--s7);
}
.doc-toc h4{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}
.doc-toc ol{margin-top:var(--s4);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2) var(--s6);list-style:none;padding:0;counter-reset:toc}
.doc-toc li{counter-increment:toc}
.doc-toc a{display:flex;gap:var(--s3);font-size:15px;color:var(--ink-mid);padding:var(--s2) 0}
.doc-toc a::before{content:counter(toc);flex:none;width:20px;font-weight:600;color:var(--blue);font-variant-numeric:tabular-nums}
.doc-toc a:hover{color:var(--blue-deep)}

.doc-page{padding-top:var(--s9);padding-bottom:var(--s11)}

.doc-block{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:var(--s9);align-items:start}
.doc-block + .doc-block{margin-top:var(--s9);padding-top:var(--s9);border-top:1px solid var(--line)}

.doc-head{
  display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--s5);align-items:center;
  position:sticky;top:calc(var(--header-h) + var(--s6));
}
.doc-num{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:var(--blue-pale);color:var(--blue-deep);
  font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;
}
.doc-head h2{font-size:clamp(21px,2.4vw,27px)}

.doc-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin-top:0}
.doc-item{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
  padding:var(--s5) var(--s6);
  transition:border-color .2s,box-shadow .2s;
}
.doc-item:hover{border-color:var(--line-2);box-shadow:var(--sh-1)}
.doc-item h4{font-size:16px;line-height:1.3}
.doc-item p{margin-top:var(--s2);font-size:16px;line-height:1.65;color:var(--ink-mid)}


/* Точный текст согласия — под раскрытием.

   Он обязан быть одним связным абзацем: именно его копируют в базу
   вместе с контрольной суммой, и переносы строк изменили бы сумму.
   Читают его единицы, но доступен он должен быть всякому — отсюда
   раскрытие, а не удаление и не мелкий шрифт.

   Строка рвётся по буквам: в тексте есть адреса и ОГРН, в которых
   пробелов нет, и без переноса они распирали бы колонку. */
.doc-raw{
  grid-column:2;margin-top:var(--s4);
  border:1px solid var(--line);border-radius:var(--r-card);
  background:#fff;padding:var(--s4) var(--s5);
}
.doc-raw summary{
  cursor:pointer;list-style:none;
  font-size:14px;font-weight:600;color:var(--ink-mid);
}
.doc-raw summary::-webkit-details-marker{display:none}
.doc-raw summary::before{content:"+ ";color:var(--blue);font-weight:700}
.doc-raw[open] summary::before{content:"− "}
.doc-raw summary:hover{color:var(--ink)}
.doc-raw p{
  margin-top:var(--s3);font-size:14.5px;line-height:1.7;
  color:var(--ink-soft);overflow-wrap:anywhere;
}

.doc-note{
  grid-column:1 / -1;margin-top:var(--s2);padding-left:var(--s5);
  border-left:2px solid var(--line-2);
  font-family:Literata,Georgia,serif;font-weight:400;font-size:17px;line-height:1.6;color:var(--ink);
}

.doc-upd{
  margin-top:var(--s9);max-width:56em;padding-top:var(--s6);border-top:1px solid var(--line);
  font-size:14px;color:var(--ink-soft);
}

@media(max-width:1100px){
  .doc-block{grid-template-columns:minmax(0,1fr);gap:var(--s6)}
  .doc-raw{grid-column:1}
  .doc-head{position:static}
  .doc-toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .doc-items{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .doc-page{padding-top:var(--s8);padding-bottom:var(--s10)}
  .doc-block + .doc-block{margin-top:var(--s8);padding-top:var(--s8)}
  .doc-head{grid-template-columns:36px minmax(0,1fr);gap:var(--s4)}
  .doc-num{width:36px;height:36px;border-radius:10px;font-size:15px}
  .doc-items{margin-top:var(--s5)}
  .doc-item{padding:var(--s5)}
  .doc-item p{font-size:15px}
  .doc-note{font-size:16px;padding-left:var(--s4)}
}

@media(max-width:760px){
  .doc-toc ol{grid-template-columns:minmax(0,1fr)}
  .doc-toc{padding:var(--s5)}
  .title{padding-top:var(--s9);padding-bottom:var(--s7)}
  .title .sub{font-size:17px}
  .title-actions .btn{width:100%;justify-content:center}
}