/* Дополнения к образцам «Трасса»: то, чего нет в образцах (плашка cookie, состояния форм, страницы входа). Только токены дизайна. */
.ckbar{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:720px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--sh-2);padding:16px 18px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--ink-2)}
.ckbar[hidden]{display:none}
.ckbar p{flex:1 1 320px}
.ckbar a{color:var(--blue);text-decoration:underline}
.ckbtns{display:flex;gap:10px}
.ckbtns button{height:40px;padding:0 16px;border-radius:12px;font-weight:700;white-space:nowrap}
.ck-y{background:var(--g-brand);color:#fff}
.ck-n{border:2px solid var(--line-2)}
.err-page{max-width:560px;margin:80px auto;padding:0 16px;text-align:center}
.err-page h1{font:800 32px var(--f-head);margin-bottom:12px}
.err-page p{color:var(--ink-2);margin-bottom:20px}
/* Новости ЛК рендерятся на сервере: <article> вместо ссылок образца; срочные — выделены */
.news article{display:block;padding:14px 16px;border-radius:16px;background:var(--snow)}
.news article b{display:block;font-size:15.5px;line-height:1.35;margin-bottom:4px}
.news article p{font-size:14px;line-height:1.5;color:var(--ink-2);margin-bottom:6px}
.news article span{font-size:12.5px;color:var(--mute)}
.news article.urgent{background:#FFF1F2;border-left:4px solid var(--err)}
/* Удаление аккаунта: ввод кода подтверждения */
.delbox{margin-top:14px;padding:14px;border-radius:14px;background:#FFF1F2}
.delbox[hidden]{display:none}
.delrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.delrow input{height:48px;flex:1 1 140px;min-width:0;border:2px solid var(--line-2);border-radius:12px;padding:0 14px;background:#fff}
.player iframe{width:100%;border:0;border-radius:var(--r-m);aspect-ratio:16/9;background:#000}
.player.v iframe{aspect-ratio:9/16;max-height:70vh}
.player iframe.pdf{aspect-ratio:3/4;height:70vh}
/* Смена имени в профиле */
.nmform{margin-top:12px}
.nmform[hidden]{display:none}
.nmform input{width:100%;height:48px;border:2px solid var(--line-2);border-radius:12px;padding:0 14px;background:#fff;margin-bottom:10px}
.nmform .muted{margin-top:8px}
/* Публичные формы: поле-ловушка скрыто от людей; ошибка сервера под кнопкой */
.trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.sf .err{margin-top:10px}
/* Запись друзей в окне заявки */
.friend{border:2px dashed var(--line-2);border-radius:14px;padding:12px 12px 2px;margin:4px 0 12px}
.friend .fh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px}
.friend .fh a,.addf a{color:var(--blue);font-weight:600;font-size:14px}
.addf{margin:2px 0 10px}
.addf[hidden],[data-friends-consent][hidden]{display:none}
/* Календарь: «Группа набрана» выглядит как в образце, но нажимается — окно ставит в лист ожидания (решение 17) */
.go.off.wait{pointer-events:auto;cursor:pointer}
.soon .tt{font:800 clamp(22px,2.4vw,30px)/1.15 var(--f-head);margin-bottom:12px}
.soon{margin-top:40px}
/* Лента «НОВОСТИ» на главной: в образце — заглушка; настоящий пост — фото, дата, текст, ссылка на пост */
.post .pim{display:block;width:100%;height:180px;object-fit:cover}
.post .pb{padding:16px 20px 20px}
.post time{display:block;font-size:12.5px;color:var(--mute);margin-bottom:6px}
.post .pb p{font-size:15px;line-height:1.5;color:var(--ink-2);margin-bottom:10px}
.post .pb a{color:var(--blue);font-weight:600;font-size:14px}
.post[hidden]{display:none!important}
.feed.all .post:not([hidden]){display:block!important}
/* Блог: в образце лента пустая — карточки как в каталогах, статья — читаемая колонка как у документов */
.cat.blog .im{display:block}
.cat.blog .im img{width:100%;height:100%;object-fit:cover}
.cat.blog time,.post-body time{font-size:13px;color:var(--mute)}
.cat.blog .tt a{color:inherit}
.pager{display:flex;gap:18px;justify-content:center;align-items:center;margin-top:30px;font-weight:600}
.pager a{color:var(--blue)}
.crumbs{margin-bottom:10px;font-weight:600}.crumbs a{color:inherit;opacity:.8}
.phero .lead a{color:inherit;text-decoration:underline}
.post-body .cover{width:100%;height:auto;border-radius:var(--r-l);margin-bottom:26px}
.post-body h2{font:800 clamp(22px,2.2vw,28px)/1.2 var(--f-head);margin:30px 0 12px}
.post-body h3{font:700 19px/1.3 var(--f-head);margin:22px 0 10px}
.post-body ul,.post-body ol{margin:0 0 14px 22px;color:var(--ink-2);line-height:1.7}
.post-body ul{list-style:disc}.post-body ol{list-style:decimal}
.post-hero .h1{font-size:clamp(28px,3.6vw,48px)!important;line-height:1.08;hyphens:manual;-webkit-hyphens:manual;max-width:920px}
.post-body blockquote{border-left:4px solid var(--blue);padding:4px 0 4px 18px;margin:0 0 16px}
.post-body figure{margin:10px 0 22px}.post-body figure img{width:100%;height:auto;border-radius:var(--r-m)}
.post-body figcaption{font-size:13px;color:var(--mute);margin-top:6px}
.post-body .srcs{margin-top:30px;padding-top:14px;border-top:1px solid var(--line)}
.post-body .srcs h2{font-size:18px;margin-top:0}.post-body .srcs li{font-size:14px}
/* Профиль: согласие на рассылку */
.mkrow{margin-top:8px;font-size:14px}

/* предупреждение об анонимной почте (site.js) */
.mailwarn{margin:-4px 0 12px;padding:9px 12px;border-radius:10px;background:#fff4e0;color:#7a4a00;font-size:14px;line-height:1.4}
