/* Документы ТЦ: /documents и /documents/<slug> (src/documents.js).
   Поверх info-pages.css: те же цвета, шрифты и заголовок, что у «О нас».
   Слева оглавление (липкое, подсвечивает текущий раздел), справа текст
   колонкой для чтения; на телефоне и планшете оглавление — раскрывашка. */
.doc-page .info-page__inner { padding-bottom:clamp(48px,8vh,100px); }
.doc__head { text-align:center; }
.doc__kicker { display:inline-block; margin-bottom:12px; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#7890aa; transition:color .2s; }
.doc__kicker:hover { color:#ee1b3c; }
.doc-page .doc__title { max-width:1100px; margin-left:auto; margin-right:auto; }

.doc { display:grid; grid-template-columns:250px minmax(0,800px); justify-content:center; gap:clamp(40px,5vw,96px); align-items:start; }
.doc__aside { position:sticky; top:118px; }
.doc__nav-label { display:block; padding-bottom:12px; border-bottom:1px solid #d9e1eb; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#7890aa; }
.doc__nav ol,.doc__toc-m ol { list-style:none; margin:0; padding:0; }
.doc__nav a,.doc__toc-m a { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid #edf1f6; font-size:14px; line-height:1.4; color:#3b4a61; text-transform:none; transition:color .2s; }
.doc__nav a span,.doc__toc-m a span { flex:0 0 14px; font-family:Oswald,sans-serif; font-weight:500; color:#9aa8bb; transition:color .2s; }
.doc__nav a:hover,.doc__nav a.is-current { color:#055eb7; }
.doc__nav a.is-current span { color:#ee1b3c; }

.doc__body { min-width:0; font-size:clamp(15.5px,1.05vw,17px); line-height:1.65; color:#2a3548; }
.doc__intro { padding-bottom:clamp(24px,4vh,40px); }
.doc__lead { margin:0 0 10px; font-family:Oswald,sans-serif; font-weight:500; font-size:clamp(22px,1.6vw,28px); line-height:1.2; text-transform:uppercase; color:#17243a; }
.doc__p { margin:0 0 12px; }
.doc__p:last-child { margin-bottom:0; }
.doc__section { padding-top:clamp(24px,3.6vh,38px); border-top:1px solid #d9e1eb; scroll-margin-top:96px; }
.doc__section+.doc__section { margin-top:clamp(26px,4vh,44px); }
.doc__h2 { display:flex; align-items:baseline; gap:16px; margin:0 0 14px; font-family:Oswald,sans-serif; font-weight:500; font-size:clamp(23px,1.85vw,32px); line-height:1.15; text-transform:uppercase; color:#17243a; }
.doc__h2-num { flex:0 0 auto; color:#ee1b3c; }
.doc__clause { display:grid; grid-template-columns:50px minmax(0,1fr); gap:0 8px; padding:7px 0; }
.doc__num { padding-top:.15em; font-size:.84em; font-weight:600; color:#7890aa; font-variant-numeric:tabular-nums; }
.doc__clause-text p { margin:0; }
.doc__list { list-style:none; display:grid; gap:7px; margin:10px 0 0; padding:0; }
.doc__list li { position:relative; padding-left:22px; }
.doc__list li::before { content:''; position:absolute; left:2px; top:.8em; width:10px; height:2px; border-radius:1px; background:#ee1b3c; }
.doc__end { margin-top:clamp(30px,5vh,56px); padding:clamp(22px,3vh,32px) clamp(22px,2.4vw,36px); border-radius:14px; background:#f3f6fa; }
.doc__outro { margin:0 0 16px; font-weight:500; color:#19253a; }
.doc__outro:last-child { margin-bottom:0; }
.doc__sign { margin:0; text-align:right; color:#576478; }
.doc__sign strong { display:inline-block; margin-top:6px; font-weight:600; color:#17243a; }
.doc__toc-m { display:none; }

/* список документов */
.doc-list ul { list-style:none; max-width:880px; margin:0 auto; padding:0; border-top:1px solid #d9e1eb; }
.doc-card { display:flex; align-items:center; gap:20px; padding:22px 4px; border-bottom:1px solid #d9e1eb; color:#17243a; text-transform:none; }
.doc-card__icon { display:inline-flex; justify-content:center; align-items:center; flex:0 0 48px; width:48px; height:48px; border:1px solid #d6e0ed; border-radius:10px; background:#f6f8fc; color:#2b5984; transition:background .25s,color .25s,border-color .25s; }
.doc-card__icon svg,.doc-card__arrow svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; }
.doc-card__body { display:grid; gap:4px; flex:1 1 auto; min-width:0; }
.doc-card__body strong { font-family:Oswald,sans-serif; font-weight:500; font-size:clamp(20px,1.5vw,26px); line-height:1.2; text-transform:uppercase; transition:color .2s; }
.doc-card__body span { font-size:14px; color:#7890aa; }
.doc-card__arrow { display:inline-flex; color:#426183; }
.doc-card__arrow svg { transition:transform .2s; }
.doc-card:hover strong { color:#055eb7; }
.doc-card:hover .doc-card__icon { background:#055eb7; border-color:#055eb7; color:#fff; }
.doc-card:hover .doc-card__arrow svg { transform:translateX(4px); }

@media(max-width:1023.98px) {
 .doc { grid-template-columns:minmax(0,1fr); max-width:800px; }
 .doc__aside { display:none; }
 .doc__toc-m { display:block; margin-bottom:26px; border:1px solid #d9e1eb; border-radius:12px; }
 .doc__toc-m summary { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#3b4a61; cursor:pointer; list-style:none; }
 .doc__toc-m summary::-webkit-details-marker { display:none; }
 .doc__toc-m summary span { position:relative; flex:0 0 16px; width:16px; height:16px; }
 .doc__toc-m summary span::before,.doc__toc-m summary span::after { content:''; position:absolute; left:0; top:7.5px; width:16px; height:1px; background:currentColor; transition:transform .25s; }
 .doc__toc-m summary span::after { transform:rotate(90deg); }
 .doc__toc-m[open] summary span::after { transform:rotate(0); }
 .doc__toc-m ol { padding:0 16px 6px; }
 .doc__toc-m li:last-child a { border-bottom:0; }
}
@media(max-width:767.98px) {
 .doc__head { text-align:left; padding:0 20px; }
 .doc__kicker { margin-bottom:8px; font-size:11px; }
 .doc-page .doc__title { padding:0; }
 .doc__body { font-size:15.5px; line-height:1.6; }
 .doc__section { scroll-margin-top:84px; }
 .doc__h2 { gap:12px; font-size:22px; }
 .doc__clause { grid-template-columns:42px minmax(0,1fr); gap:0 6px; }
 .doc__end { padding:20px 18px; }
 .doc__sign { text-align:left; } /* вправо узкие строки рвутся лесенкой */
 .doc-card { gap:14px; padding:18px 0; }
 .doc-card__icon { flex-basis:42px; width:42px; height:42px; }
 .doc-card__body strong { font-size:19px; }
}
@media(prefers-reduced-motion:reduce) {
 .doc-card__arrow svg,.doc__toc-m summary span::before,.doc__toc-m summary span::after { transition:none; }
}
