/* Canonical public article used by the single page and the feed modal. */
.znc-article{
  width:min(920px,calc(100% - 32px));
  margin:8px auto 36px;
  color:#253951;
  box-sizing:border-box;
}
.znc-article *{box-sizing:border-box}
.znc-article__header{
  padding:16px 20px;
  border-radius:16px;
  background:#edf4fc;
}
.znc-article__title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.znc-article__header h1{
  margin:0;
  color:#142d4d;
  font-size:clamp(26px,4vw,44px);
  line-height:1.1;
}
.znc-article__edit{
  flex:0 0 auto;
  min-height:40px;
  padding:8px 13px;
  border:1px solid #b9cce4;
  border-radius:10px;
  background:#fff;
  color:#174f91;
  font:700 14px/1.2 inherit;
  cursor:pointer;
}
.znc-article__rubrics{
  display:grid;
  gap:7px;
  margin-top:16px;
  padding:15px 18px;
  border-radius:14px;
  background:#f8fafd;
}
.znc-article__rubric{
  display:grid;
  grid-template-columns:minmax(120px,180px) minmax(0,1fr);
  gap:10px;
  align-items:start;
  min-height:0;
  margin:0;
  padding:0;
}
.znc-article__rubric h2{
  margin:1px 0 0;
  color:#4b6078;
  font-size:13px;
  line-height:1.35;
}
.znc-article__rubric-body{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.znc-article__rubric span{
  padding:5px 9px;
  border-radius:9px;
  background:#eef4fb;
  color:#40536b;
  font-size:12px;
  line-height:1.35;
}
.znc-article__content{
  margin-top:34px;
  color:#2c3d53;
  font-size:16px;
  line-height:1.68;
}
.znc-article__content>:first-child{margin-top:0}
.znc-article__content>:last-child{margin-bottom:0}
.znc-article__content h2,.znc-article__content h3{
  color:#163e70;
  line-height:1.25;
}
.znc-article__videos{
  display:grid;
  gap:18px;
  width:min(820px,100%);
  margin:30px auto 0;
  justify-items:center;
}
.znc-article__videos figure{width:100%;margin:0;text-align:center}
.znc-article__videos video{
  display:block;
  width:100%;
  height:auto;
  max-height:min(76vh,780px);
  margin:0 auto;
  border-radius:13px;
  background:#101723;
}
.znc-article__images{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
  margin-top:30px;
}
.znc-article__image-column{
  display:grid;
  gap:14px;
  align-content:start;
  min-width:0;
}
.znc-article__images figure{
  display:block;
  width:min(100%,700px);
  margin:0 auto;
  overflow:hidden;
  border-radius:13px;
  background:#f2f5fa;
}
.znc-article__images button{
  display:block;
  width:min(100%,700px);
  margin:0 auto;
  padding:0;
  border:0;
  background:transparent;
  line-height:0;
  cursor:zoom-in;
}
.znc-article__images img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
}
.znc-article__images figcaption{
  padding:8px 10px;
  background:#fff;
  color:#627187;
  font-size:12px;
  line-height:1.4;
}
.znc-article__resources{
  margin-top:30px;
  padding:18px;
  border-radius:15px;
  background:#f6f9fd;
}
.znc-article__resources h2{
  margin:0 0 13px;
  color:#163e70;
  font-size:21px;
}
.znc-article__resource-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.znc-article__resource{
  display:grid;
  gap:4px;
  min-width:0;
  padding:12px;
  border:1px solid #d8e3f0;
  border-radius:11px;
  background:#fff;
  color:#183e6b;
  text-decoration:none;
}
.znc-article__resource strong{font-size:14px;line-height:1.3}
.znc-article__resource small{color:#687b92;font-size:12px}
.znc-article__author{
  width:min(500px,100%);
  margin:42px auto 0;
  padding-top:10px;
  text-align:center;
}
.znc-article__author>a{
  display:grid;
  justify-items:center;
  gap:10px;
  color:inherit;
  text-decoration:none;
}
.znc-article__avatar-wrap{
  position:relative;
  display:block;
  width:min(100%,420px);
}
.znc-article__avatar-line{
  position:absolute;
  top:82px;
  left:0;
  right:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(161,185,218,.14),rgba(126,157,199,.92) 26%,rgba(126,157,199,.92) 74%,rgba(161,185,218,.14));
}
.znc-article__avatar{
  position:relative;
  z-index:1;
  display:block;
  width:112px;
  height:112px;
  margin:0 auto;
  overflow:hidden;
  border:7px solid #fff;
  border-radius:50%;
  background:#fff;
}
.znc-article__avatar img{display:block;width:100%;height:100%;object-fit:cover}
.znc-article__author strong{color:#174f91;font-size:19px;line-height:1.2}
.znc-article__about{color:#52657c;font-size:14px;line-height:1.55}
.znc-article__location{color:#6a7d95;font-size:13px;line-height:1.45}
.znc-article__close{
  width:min(820px,calc(100% - 36px));
  margin:22px auto 0;
  padding-top:18px;
  border-top:1px solid #e2e8f0;
  text-align:center;
}
.znc-article__close button{
  padding:0;
  border:0;
  background:transparent;
  color:#4a6486;
  font:inherit;
  font-size:15px;
  text-decoration:underline;
  cursor:pointer;
}
.znc-public-lightbox{
  position:fixed;
  inset:0;
  z-index:1000000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(10,20,34,.86);
}
.znc-public-lightbox[hidden]{display:none}
.znc-public-lightbox figure{display:grid;max-width:96vw;max-height:94vh;margin:0;place-items:center}
.znc-public-lightbox img{display:block;max-width:min(96vw,1400px);max-height:88vh;width:auto;height:auto}
.znc-public-lightbox figcaption{padding:8px 12px;color:#fff;text-align:center}
.znc-public-lightbox button{
  position:fixed;
  top:16px;
  right:16px;
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:28px;
  cursor:pointer;
}
body.znc-public-lightbox-open{overflow:hidden}
body.znc-managed-single .entry-title:empty,
body.znc-managed-single .wp-block-post-title:empty{display:none}

@media(max-width:700px){
  .znc-article{width:min(100% - 20px,920px);margin-top:14px}
  .znc-article__header{padding:16px;border-radius:13px}
  .znc-article__title-row{display:grid}
  .znc-article__edit{width:100%}
  .znc-article__rubrics{margin-top:18px;padding:15px}
  .znc-article__rubric{grid-template-columns:1fr;gap:6px}
  .znc-article__content{margin-top:26px}
  .znc-article__images{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:24px;
  }
  .znc-article__image-column{gap:8px}
  .znc-article__images figure{border-radius:9px}
  .znc-article__images figcaption{padding:6px 7px;font-size:11px}
  .znc-public-media__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    align-items:start;
  }
  .znc-public-media__item{min-width:0}
  .znc-public-media__item--video{grid-column:1/-1}
  .znc-public-media__item img,
  .znc-public-media__item video{display:block;width:100%;height:auto}
  .znc-article__resource-grid{grid-template-columns:1fr}
  .znc-article__author{margin-top:34px}
  .znc-article__avatar-wrap{width:min(100%,300px)}
}
.znc-article a.znc-article__edit{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* v0.2.77 — публичный состав сметы без расчётных данных */
.znc-article__resources-note{
  margin:-5px 0 14px;
  color:#687b92;
  font-size:13px;
  line-height:1.5;
}
.znc-article__estimate-list{display:grid;gap:10px}
.znc-article__estimate-composition{
  overflow:hidden;
  border:1px solid #d8e3f0;
  border-radius:12px;
  background:#fff;
}
.znc-article__estimate-composition>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) 12px;
  gap:12px;
  align-items:center;
  padding:14px 15px;
  cursor:pointer;
  list-style:none;
}
.znc-article__estimate-composition>summary::-webkit-details-marker{display:none}
.znc-article__estimate-composition>summary span{display:grid;gap:3px;min-width:0}
.znc-article__estimate-composition>summary strong{color:#183e6b;font-size:15px;line-height:1.3}
.znc-article__estimate-composition>summary small{color:#687b92;font-size:12px;line-height:1.4}
.znc-article__estimate-composition>summary i{
  width:9px;
  height:9px;
  border-right:2px solid #6b7e97;
  border-bottom:2px solid #6b7e97;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .16s ease;
}
.znc-article__estimate-composition[open]>summary{border-bottom:1px solid #e2eaf3;background:#f8fafe}
.znc-article__estimate-composition[open]>summary i{transform:rotate(225deg) translate(-1px,-1px)}
.znc-article__estimate-body{display:grid;gap:14px;padding:15px}
.znc-article__estimate-body section{display:grid;gap:7px}
.znc-article__estimate-body h3{margin:0;color:#4d6380;font-size:13px;line-height:1.35}
.znc-article__estimate-body ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.znc-article__estimate-body li{
  position:relative;
  margin:0;
  padding-left:16px;
  color:#263d59;
  font-size:14px;
  line-height:1.45;
}
.znc-article__estimate-body li::before{
  content:'•';
  position:absolute;
  left:2px;
  top:0;
  color:#5e7fa8;
}
.znc-article__estimate-body>p{margin:0;color:#687b92;font-size:13px;line-height:1.5}

/* Z Content 0.2.78 — изображения схем в едином рендерере статьи */
.znc-article__resources--schemes .znc-article__scheme-images{margin-top:0}
.znc-article__resources--schemes .znc-article__scheme-images figure{background:#fff}
.znc-article__resource-grid--schemes{margin-top:12px}

/* Z Content 0.2.79 — estimate composition directly after article text */
.znc-article__resources--estimates{
  width:min(820px,calc(100% - 36px));
  margin:32px auto 0;
  padding:18px;
  border-radius:15px;
  background:#f5f8fc;
}
.znc-article__resources-heading{
  display:grid;
  gap:5px;
  margin-bottom:14px;
}
.znc-article__resources-heading h2{
  margin:0;
  color:#183e6b;
  font-size:21px;
  line-height:1.2;
}
.znc-article__resources-heading p{
  margin:0;
  color:#657a94;
  font-size:13px;
  line-height:1.5;
}
.znc-article__estimate-body{
  grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));
  gap:16px 20px;
}
.znc-article__estimate-body section{
  align-content:start;
  padding:11px 12px;
  border-radius:10px;
  background:#f8fafd;
}
.znc-article__estimate-composition[open]>summary{
  background:#edf4fc;
}
@media(max-width:700px){
  .znc-article__resources--estimates{
    width:calc(100% - 20px);
    margin-top:26px;
    padding:14px;
    border-radius:13px;
  }
  .znc-article__estimate-body{grid-template-columns:1fr;padding:12px}
}

/* 0.3.0 — public optional material sections. */
.znc-article__extras {
  display:grid;
  gap:14px;
  margin:22px 0 0;
}

.znc-article__extra {
  padding:18px;
  border:1px solid #d8e4f0;
  border-radius:16px;
  background:#f6f9fd;
}

.znc-article__extra h2 {
  display:block;
  width:100%;
  margin:0 0 16px;
  padding:10px 13px;
  border:1px solid #d4e1dc;
  border-radius:10px;
  background:#e9f1ee;
  color:#315c52;
  font-size:clamp(19px,2.7vw,24px);
  font-weight:800;
  line-height:1.22;
}

.znc-article__cost-range {
  margin:0;
  color:#102f56;
  font-size:clamp(21px,3.6vw,30px);
  font-weight:850;
}

.znc-article__facts {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}

.znc-article__facts li {
  display:grid;
  gap:3px;
  padding:11px 12px;
  border-radius:11px;
  background:#fff;
}

.znc-article__facts strong { color:#57708e; font-size:11px; text-transform:uppercase; }
.znc-article__facts span { color:#17324f; font-weight:750; }
.znc-article__extra-text {
  width:min(760px,calc(100% - 20px));
  margin:16px auto 0;
  color:#2c3d53;
  font-size:clamp(17px,2vw,19px);
  line-height:1.7;
  overflow-wrap:anywhere;
}

.znc-article__file-list {
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.znc-article__file-list a {
  display:block;
  padding:11px 12px;
  border-radius:10px;
  background:#fff;
  color:#19599f;
  font-weight:750;
  overflow-wrap:anywhere;
  text-decoration:none;
}

@media(max-width:620px) {
  .znc-article__extra { padding:13px; }
  .znc-article__extra h2 {
    margin-bottom:13px;
    padding:9px 11px;
    border-radius:9px;
    font-size:clamp(18px,5.2vw,21px);
  }
  .znc-article__extra-text {
    width:100%;
    margin-top:13px;
    font-size:17px;
    line-height:1.65;
  }
  .znc-article__facts { grid-template-columns:1fr; }
}

.znc-article__news-action {
    margin: 16px 0 0;
}

.znc-article__news-action a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 10px;
    background: #1f5fae;
    color: #fff;
    font-weight: 750;
    text-decoration: none;
}

.znc-article__news-action a:hover,
.znc-article__news-action a:focus-visible {
    background: #174f96;
    color: #fff;
}


/* 0.3.3 — comfortable reading width in the feed material window. */
.znc-article--modal .znc-article__content{
  width:min(80%,720px);
  margin-right:auto;
  margin-left:auto;
  font-size:clamp(18px,1.5vw,20px);
  line-height:1.76;
}
.znc-article--modal .znc-article__content p{
  margin-top:0;
  margin-bottom:1.05em;
}
.znc-article--modal .znc-article__content h2{font-size:clamp(23px,2.4vw,30px)}
.znc-article--modal .znc-article__content h3{font-size:clamp(20px,2vw,25px)}


/* 0.3.4 — mobile article images use two columns; videos stay full width. */

/* 0.3.11 — compact messenger-like discussion with one visual thread level. */
.znc-comments{
  width:min(820px,calc(100% - 36px));
  margin:38px auto 0;
  padding-top:22px;
  border-top:1px solid #d8e3ef;
}
.znc-comments__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.znc-comments__header h2{
  display:flex;
  align-items:baseline;
  gap:5px;
  margin:0;
  color:#183e6b;
  font-size:clamp(20px,2.5vw,25px);
  line-height:1.2;
}
.znc-comments__header h2 span{
  color:#71869d;
  font-size:.64em;
  font-weight:650;
}
.znc-comments__header h2 b{font-weight:750}
.znc-comments__hidden-toggle{
  padding:5px 9px;
  border:0;
  border-radius:999px;
  background:#eef3f8;
  color:#607790;
  font:700 12px/1.2 inherit;
  cursor:pointer;
}
.znc-comments__hidden-toggle:hover,
.znc-comments__hidden-toggle:focus-visible{background:#e2ebf4;color:#315d8c}
.znc-comments__status{
  min-height:0;
  margin:0 0 4px;
  color:#60758d;
  font-size:12px;
  line-height:1.35;
}
.znc-comments__status:empty{display:none}
.znc-comments__status.is-error{color:#9b3434}
.znc-comments__list{display:grid;gap:4px}
.znc-comment-thread{min-width:0}
.znc-comment{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:8px;
  padding:7px 0;
}
.znc-comment[hidden],
[data-znc-thread-reply][hidden]{display:none}
.znc-comment__avatar,
.znc-comment__avatar a,
.znc-comment__avatar img{
  display:block;
  width:36px;
  height:36px;
  border-radius:50%;
}
.znc-comment__body{min-width:0}
.znc-comment__bubble{
  width:fit-content;
  max-width:min(100%,680px);
  padding:9px 11px 10px;
  border:1px solid #e1e9f1;
  border-radius:14px 14px 14px 5px;
  background:#f5f8fb;
  box-shadow:0 1px 2px rgba(31,62,96,.035);
}
.znc-comment.is-hidden .znc-comment__bubble{border-style:dashed;background:#f7f5f1}
.znc-comment.is-deleted .znc-comment__bubble{background:#f5f5f5;color:#75808c}
.znc-comment__head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:3px 12px;
}
.znc-comment__identity{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  min-width:0;
}
.znc-comment__identity>a{text-decoration:none}
.znc-comment__head strong{color:#29435f;font-size:13px;line-height:1.25}
.znc-comment__head time{color:#8595a6;font-size:10.5px;line-height:1.25;white-space:nowrap}
.znc-comment__author-badge{
  padding:2px 5px;
  border-radius:999px;
  background:#e7f0fa;
  color:#35638f;
  font-size:9.5px;
  font-weight:750;
  line-height:1.2;
}
.znc-comment__quote{
  display:grid;
  gap:2px;
  margin:6px 0 7px;
  padding:6px 8px;
  border-left:2px solid #8ab0d7;
  border-radius:4px 8px 8px 4px;
  background:#edf3f8;
  color:#5f7389;
  font-size:11px;
  line-height:1.35;
}
.znc-comment__quote strong{color:#3d6288;font-size:10.5px}
.znc-comment__quote span{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.znc-comment__text{margin-top:5px;color:#2c4259;font-size:14px;line-height:1.48;overflow-wrap:anywhere}
.znc-comment__text p{margin:0 0 .55em}
.znc-comment__text p:last-child{margin-bottom:0}
.znc-comment__state{margin:6px 0 0;color:#7b6d62;font-size:11px;font-weight:700;line-height:1.35}
.znc-comment__actions{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:22px;
  margin:2px 0 0 4px;
}
.znc-comment__actions>button,
.znc-comment-menu summary,
.znc-comment-menu__panel button{
  padding:0;
  border:0;
  background:transparent;
  color:#66809b;
  font:700 11.5px/1.25 inherit;
  cursor:pointer;
}
.znc-comment__actions>button:hover,
.znc-comment__actions>button:focus-visible,
.znc-comment-menu summary:hover,
.znc-comment-menu summary:focus-visible{color:#22598e}
.znc-comment-menu{position:relative}
.znc-comment-menu summary{list-style:none;letter-spacing:1px}
.znc-comment-menu summary::-webkit-details-marker{display:none}
.znc-comment-menu__panel{
  position:absolute;
  z-index:8;
  top:calc(100% + 5px);
  left:0;
  display:grid;
  min-width:126px;
  padding:5px;
  border:1px solid #dce5ee;
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,61,92,.13);
}
.znc-comment-menu__panel button{
  width:100%;
  padding:7px 9px;
  border-radius:7px;
  text-align:left;
  white-space:nowrap;
}
.znc-comment-menu__panel button:hover,
.znc-comment-menu__panel button:focus-visible{background:#eef4fa;color:#234f7c}
.znc-comment-menu__panel button.is-danger{color:#9b4141}
.znc-comment-thread__replies{
  margin-left:18px;
  padding-left:13px;
  border-left:1px solid #dce6ef;
}
.znc-comment-thread__toggle{
  margin:1px 0 5px 67px;
  padding:4px 0;
  border:0;
  background:transparent;
  color:#416f9b;
  font:700 11.5px/1.3 inherit;
  cursor:pointer;
}
.znc-comment-thread__toggle:hover,
.znc-comment-thread__toggle:focus-visible{text-decoration:underline}
.znc-comment--placeholder{
  grid-template-columns:1fr;
  padding:6px 0 6px 44px;
}
.znc-comment__placeholder{
  width:fit-content;
  max-width:100%;
  padding:7px 10px;
  border:1px dashed #d5dee7;
  border-radius:10px;
  color:#75869a;
  font-size:11.5px;
  line-height:1.35;
}
.znc-comment-edit-form{display:grid;gap:7px;margin-top:7px}
.znc-comment-edit-form textarea,
.znc-comment-form textarea{
  display:block;
  width:100%;
  resize:vertical;
  padding:10px 11px;
  border:1px solid #cbd9e7;
  border-radius:10px;
  background:#fff;
  color:#243b56;
  font:400 14px/1.48 inherit;
}
.znc-comment-edit-form textarea{min-height:76px}
.znc-comment-form textarea{min-height:82px}
.znc-comment-edit-form textarea:focus,
.znc-comment-form textarea:focus{outline:2px solid rgba(39,101,170,.16);border-color:#6f9bc9}
.znc-comment-edit-form>div,
.znc-comment-form__footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.znc-comment-edit-form button,
.znc-comment-form__footer>button{
  min-height:36px;
  padding:7px 12px;
  border:0;
  border-radius:9px;
  background:#1f5fae;
  color:#fff;
  font:750 13px/1.2 inherit;
  cursor:pointer;
}
.znc-comment-edit-form button+button,
.znc-comment-form__footer>button.is-secondary{background:#e7eef6;color:#3f5e7d}
.znc-comment-edit-form button:disabled,
.znc-comment-form__footer>button:disabled{cursor:wait;opacity:.58}
.znc-comment-edit-form span,
.znc-comment-form__footer>span{color:#627790;font-size:11px;line-height:1.35}
.znc-comment-form{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.znc-comment-form__opener{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:center;
  gap:9px;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  text-align:left;
  cursor:text;
}
.znc-comment-form__opener span,
.znc-comment-form__opener img{display:block;width:36px;height:36px;border-radius:50%}
.znc-comment-form__opener b{
  display:block;
  min-height:42px;
  padding:11px 13px;
  border:1px solid #d4e0eb;
  border-radius:14px;
  background:#f4f7fa;
  color:#7a8da1;
  font:500 14px/1.35 inherit;
}
.znc-comment-form__opener:hover b,
.znc-comment-form__opener:focus-visible b{border-color:#a9c0d8;background:#eef4f9}
.znc-comment-form__editor{
  display:grid;
  gap:8px;
  margin-left:45px;
  padding:10px;
  border:1px solid #dde7f0;
  border-radius:12px;
  background:#f5f8fb;
}
.znc-comment-form__reply{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#5b7189;
  font-size:11.5px;
}
.znc-comment-form__reply button{
  padding:0;
  border:0;
  background:transparent;
  color:#315f91;
  font:700 11.5px/1.3 inherit;
  cursor:pointer;
}
.znc-comments__notice,
.znc-comments__empty{margin:12px 0 0;color:#687b92;font-size:13px;line-height:1.5}
.znc-comments__notice a{color:#1b5b9d;font-weight:750}

@media(max-width:700px){
  .znc-comments{width:calc(100% - 20px);margin-top:30px;padding-top:18px}
  .znc-comments__header{align-items:flex-start}
  .znc-comment{grid-template-columns:32px minmax(0,1fr);gap:7px;padding:6px 0}
  .znc-comment__avatar,
  .znc-comment__avatar a,
  .znc-comment__avatar img{width:32px;height:32px}
  .znc-comment__bubble{max-width:100%;padding:8px 10px 9px}
  .znc-comment-thread__replies{margin-left:13px;padding-left:10px}
  .znc-comment-thread__toggle{margin-left:53px}
  .znc-comment--placeholder{padding-left:39px}
  .znc-comment-form__opener{grid-template-columns:32px minmax(0,1fr);gap:7px}
  .znc-comment-form__opener span,
  .znc-comment-form__opener img{width:32px;height:32px}
  .znc-comment-form__opener b{min-height:39px;padding:10px 12px}
  .znc-comment-form__editor{margin-left:39px;padding:9px}
  .znc-comment-menu__panel{right:0;left:auto}
}
.znc-comment-form__editor[hidden],
.znc-comment-edit-form[hidden]{display:none}
.znc-comment--placeholder[hidden]{display:none}


/* 0.3.18 — стандартный блок меток статьи. */

/* 0.3.32 — разделы дополнительных медиа и приложенные визуализации. */
.znc-article__visualization-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.znc-article__visualization-item{overflow:hidden;border-radius:12px;background:#eef3f6}
.znc-article__visualization-item img,.znc-article__visualization-item video{display:block;width:100%;height:auto}
.znc-article__visualization-item>a:not(:has(img)){display:block;padding:14px}


/* 0.3.48 — спокойные заголовки и читаемые описания дополнительных медиа-разделов. */
.znc-article__rubric-body{display:grid;gap:4px;min-width:0;margin:0;padding:0;}
.znc-article__rubric-values{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;}
.znc-article__rubric-description{margin:0;padding:7px 10px;background:#f4f7fa;color:#405970;font-size:14px;line-height:1.45;}
.natm-story-stage--media-section{margin:36px 0;}
.natm-story-stage--media-section>h2{
  width:100%;
  margin:0 0 18px;
  padding:12px 18px;
  border:1px solid #d6e2df;
  border-radius:10px;
  background:#eaf1ef;
  color:#294f49;
  font-size:clamp(23px,3vw,29px);
  font-weight:850;
  line-height:1.22;
}
.natm-story-stage__description{
  width:min(780px,calc(100% - 36px));
  margin:0 auto 20px;
  color:#2c3d53;
  font-size:clamp(18px,2.15vw,21px);
  line-height:1.72;
  overflow-wrap:anywhere;
}
.natm-story-stage__description p{margin:0 0 .9em;}
.natm-story-stage__description p:last-child{margin-bottom:0;}
@media(max-width:700px){
  .natm-story-stage--media-section>h2{margin-bottom:15px;padding:10px 13px;border-radius:9px;font-size:21px;}
  .natm-story-stage__description{width:calc(100% - 20px);margin-bottom:16px;font-size:17px;line-height:1.68;}
}


/* 0.3.37 — крупное основное медиа и двухколоночная плитка дополнительных изображений. */
.znc-public-hero{
  width:min(100%,920px);
  margin:0 auto 30px;
  text-align:center;
}
.znc-public-hero img,
.znc-public-hero video{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:min(82vh,920px);
  margin:0 auto;
  border-radius:16px;
  object-fit:contain;
}
.znc-article__images{
  display:block;
  width:min(820px,100%);
  margin:30px auto 0;
}
.znc-article__images figure,
.znc-article__images button{width:100%;max-width:820px;}
.znc-article__images figure{border-radius:16px;}
.znc-public-media{display:grid;gap:14px;margin-top:16px;}
.znc-public-media__videos{display:grid;gap:16px;}
.znc-public-media__videos .znc-public-media__item{width:min(100%,820px);margin:0 auto;}
.znc-public-media__videos video{
  display:block;
  width:100%;
  height:auto;
  max-height:min(78vh,820px);
  margin:0 auto;
  border-radius:16px;
  background:#101723;
}
.znc-public-media__images{
  column-count:2;
  column-gap:12px;
}
.znc-public-media__images .znc-public-media__item{
  display:inline-block;
  width:100%;
  margin:0 0 12px;
  overflow:hidden;
  break-inside:avoid;
  border-radius:14px;
  background:#f2f5fa;
  vertical-align:top;
}
.znc-public-media__images a{display:block;line-height:0;}
.znc-public-media__images img{display:block;width:100%;height:auto;margin:0;}
.znc-public-media__caption{padding:8px 10px;background:#fff;color:#627187;font-size:12px;line-height:1.4;}
@media(max-width:700px){
  .znc-public-hero{margin-bottom:22px;}
  .znc-public-hero img,.znc-public-hero video{border-radius:12px;}
  .znc-article__images{display:block;grid-template-columns:none;width:100%;margin-top:24px;}
  .znc-article__images figure{border-radius:12px;}
  .znc-public-media__images{column-count:2;column-gap:8px;}
  .znc-public-media__images .znc-public-media__item{margin-bottom:8px;border-radius:10px;}
  .znc-public-media__videos video{border-radius:12px;}
}


/* 0.3.46 — самостоятельный блок обсуждения почти на всю ширину статьи. */
.znc-comments{
  position:relative;
  width:calc(100% - 8px);
  max-width:none;
  margin:38px auto 0;
  padding:14px 16px 18px;
  overflow:hidden;
  border:1px solid #d7e3ef;
  border-radius:20px;
  background:linear-gradient(180deg,#f5f9fd 0%,#edf4fa 100%);
  box-shadow:0 14px 34px rgba(28,66,105,.09);
}
.znc-comments__header{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:60px;
  margin:0 0 13px;
  padding:12px 14px 12px 17px;
  overflow:hidden;
  border-radius:14px;
  background:
    radial-gradient(circle at 86% 18%,rgba(255,255,255,.22) 0 34px,transparent 35px),
    radial-gradient(circle at 94% 120%,rgba(232,181,68,.36) 0 58px,transparent 59px),
    linear-gradient(128deg,#173f70 0%,#2867a6 62%,#397bb6 100%);
  box-shadow:0 8px 20px rgba(22,63,112,.18);
}
.znc-comments__header::after{
  content:"";
  position:absolute;
  right:78px;
  bottom:-24px;
  width:96px;
  height:48px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  transform:rotate(-12deg);
  pointer-events:none;
}
.znc-comments__header h2{
  position:relative;
  z-index:1;
  min-width:0;
  margin:0;
  overflow:hidden;
  color:#fff;
  font-size:clamp(19px,2.6vw,26px);
  font-weight:850;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow:0 1px 2px rgba(7,31,59,.22);
}
.znc-comments__count{
  position:relative;
  z-index:1;
  display:grid;
  min-width:38px;
  height:38px;
  place-items:center;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:rgba(255,255,255,.17);
  color:#fff;
  font-size:15px;
  font-weight:850;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(4px);
}
.znc-comments__count b{font:inherit}
.znc-comments__manage{
  display:flex;
  justify-content:flex-end;
  margin:-4px 2px 8px;
}
.znc-comments__hidden-toggle{
  background:#dfeaf4;
  color:#526f8d;
}
.znc-comments__status{margin-right:2px;margin-left:2px}
.znc-comments__list,
.znc-comment-form,
.znc-comments__notice,
.znc-comments__empty{position:relative;z-index:1}
@media(max-width:700px){
  .znc-comments{
    width:100%;
    margin-top:28px;
    padding:10px 9px 13px;
    border-radius:16px;
  }
  .znc-comments__header{
    min-height:52px;
    margin-bottom:10px;
    padding:10px 10px 10px 13px;
    border-radius:12px;
  }
  .znc-comments__header h2{font-size:clamp(17px,5vw,21px)}
  .znc-comments__count{min-width:34px;height:34px;padding:0 8px;font-size:14px}
  .znc-comments__manage{margin:-2px 1px 7px}
}


/* 0.3.48 — основное медиа расположено перед основным описанием. */
.znc-article__main-media{margin-top:30px;}
.znc-article__main-media + .znc-article__content{margin-top:30px;}
.znc-article__main-media.znc-article__images{grid-template-columns:1fr;width:min(820px,100%);margin-left:auto;margin-right:auto;}
.znc-article__main-media.znc-article__images figure,
.znc-article__main-media.znc-article__images button{width:100%;max-width:820px;}
@media(max-width:700px){
  .znc-article__main-media{margin-top:22px;}
  .znc-article__main-media + .znc-article__content{margin-top:24px;}
}


/* 0.3.50 — полноценная ширина статьи на десктопе и стабильная кнопка редактирования. */
@media(min-width:701px){
  .znc-article--page{
    width:min(1120px,calc(100% - 40px));
    margin-top:-16px;
  }
  .znc-article--page .znc-article__header,
  .znc-article--page .znc-article__rubrics{
    width:100%;
  }
  .znc-article--page .znc-public-hero,
  .znc-article--page .znc-article__videos,
  .znc-article--page .znc-article__main-media.znc-article__images{
    width:min(1040px,100%);
    max-width:1040px;
  }
  .znc-article--page .znc-article__main-media.znc-article__images figure,
  .znc-article--page .znc-article__main-media.znc-article__images button,
  .znc-article--page .znc-article__images figure,
  .znc-article--page .znc-article__images button{
    max-width:1040px;
  }
}
.znc-article__title-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:start;
}
.znc-article__header h1{
  min-width:0;
  overflow-wrap:anywhere;
}
.znc-article__edit{
  display:inline-flex;
  width:auto;
  min-width:154px;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 16px;
  white-space:nowrap;
  word-break:normal;
  text-decoration:none;
}
@media(max-width:700px){
  .znc-article__title-row{grid-template-columns:1fr;}
  .znc-article__edit{width:100%;min-width:0;}
}


/* 0.3.51 — основное описание той же плотности и масштаба, что дополнительные описания. */
.natm-story-stage--general{
  width:min(780px,calc(100% - 36px));
  margin:0 auto;
  color:#2c3d53;
  font-size:clamp(18px,2.15vw,21px);
  line-height:1.72;
  overflow-wrap:anywhere;
}
.natm-story-stage--general p{margin:0 0 .9em;}
.natm-story-stage--general p:last-child{margin-bottom:0;}
@media(max-width:700px){
  .natm-story-stage--general{
    width:calc(100% - 20px);
    font-size:17px;
    line-height:1.68;
  }
}


/* 0.3.53 — compact metadata, raised article header and headings aligned with descriptions. */
.znc-article__edit-icon{display:inline-block;flex:0 0 auto;line-height:1;}
.znc-article__rubrics{row-gap:7px;}
.znc-article__rubric{margin:0!important;padding:0!important;min-height:0!important;}
.znc-article__rubric h2{margin:1px 0 0!important;}
.znc-article__rubric-body{row-gap:4px!important;}
.znc-article__rubric-description{margin:0!important;}
.natm-story-stage--media-section>h2,
.znc-article__content>h2,
.znc-article__content>h3{
  width:min(780px,calc(100% - 36px));
  margin-right:auto;
  margin-left:auto;
  text-align:left;
}
.znc-article__extra>h2{
  width:min(760px,calc(100% - 20px));
  margin-right:auto;
  margin-left:auto;
  text-align:left;
}
.znc-article__resources>h2,
.znc-article__resources-heading>h2{
  text-align:left;
}
@media(max-width:700px){
  .znc-article--page{margin-top:8px;}
  .znc-article__rubrics{margin-top:14px;padding:13px;row-gap:8px;}
  .znc-article__rubric{row-gap:4px;}
  .natm-story-stage--media-section>h2,
  .znc-article__content>h2,
  .znc-article__content>h3{width:calc(100% - 20px);}
  .znc-article__extra>h2{width:100%;}
}


/* 0.3.54 — content block headings nearly full width, but left text edge aligned to description text. */
.natm-story-stage--media-section>h2,
.znc-article__extra>h2,
.znc-article__content>h2,
.znc-article__content>h3{
  width:calc(100% - 24px);
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
.natm-story-stage--media-section>h2,
.znc-article__content>h2,
.znc-article__content>h3{
  padding-left:max(18px, calc((100% - min(780px, 100% - 36px)) / 2));
  padding-right:18px;
}
.znc-article__extra>h2{
  padding-left:max(18px, calc((100% - min(780px, 100% - 20px)) / 2));
  padding-right:18px;
}
@media(max-width:700px){
  .natm-story-stage--media-section>h2,
  .znc-article__extra>h2,
  .znc-article__content>h2,
  .znc-article__content>h3{
    width:calc(100% - 12px);
    padding-left:12px;
    padding-right:12px;
  }
}


/* 0.3.69 — форматирование расширенного основного описания. */
.natm-story-stage--general.natm-story-stage--advanced h3,
.natm-story-stage--general.natm-story-stage--advanced h4{
  margin:1.25em 0 .45em;
  color:#23384f;
  line-height:1.28;
}
.natm-story-stage--general.natm-story-stage--advanced h3{font-size:1.28em;}
.natm-story-stage--general.natm-story-stage--advanced h4{font-size:1.12em;}
.natm-story-stage--general.natm-story-stage--advanced ul,
.natm-story-stage--general.natm-story-stage--advanced ol{
  margin:.75em 0 1em;
  padding-left:1.45em;
}
.natm-story-stage--general.natm-story-stage--advanced li{margin:.28em 0;}
.natm-story-stage--general.natm-story-stage--advanced blockquote{
  margin:1em 0;
  padding:.15em 0 .15em 1em;
  border-left:3px solid #8da9bd;
  color:#50677b;
}
.natm-story-stage--general.natm-story-stage--advanced a{
  color:#1f5f9c;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* 0.3.71 — публичные файлы 3D-проекта и 3D-модели. */
.znc-article__resource-preview{display:block;max-width:900px}
.znc-article__resource-preview img{display:block;width:100%;height:auto}
.znc-article__resource-video{display:block;width:100%;max-width:900px;background:#101820}
.znc-article__resource-file{display:grid;gap:4px;max-width:680px;padding:14px 16px;border:1px solid #d2dde7;background:#f7fafc;color:#285479;text-decoration:none}
.znc-article__resource-file strong{font-size:15px}
.znc-article__resource-file small{color:#738497;font-size:12px}

/* 0.3.82: solution-specific search tags stay beside their selected solution. */
.znc-article__solution-list{
  display:grid;
  gap:6px;
  min-width:0;
}
.znc-article__solution-item{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  min-width:0;
}
.znc-article__solution-name{
  font-weight:700;
  color:#304c6d!important;
  background:#e8f1fb!important;
}
.znc-article__solution-tag{
  padding:4px 8px!important;
  border:1px solid #b9cfea;
  border-radius:8px!important;
  background:#fff!important;
  color:#2164a7!important;
  font-size:11px!important;
  font-weight:650;
  line-height:1.3!important;
}
@media (max-width:640px){
  .znc-article__solution-item{gap:4px;}
  .znc-article__solution-name{flex-basis:auto;}
}

/* 0.3.88 — ресурсы внизу просмотра и заметная кнопка закрытия. */
.znc-article__close{
  width:min(820px,calc(100% - 36px));
  margin:30px auto 0;
  padding-top:24px;
}
.znc-article__close button{
  display:inline-flex;
  min-width:260px;
  min-height:56px;
  align-items:center;
  justify-content:center;
  padding:13px 28px;
  border:1px solid #174f91;
  border-radius:8px;
  background:#174f91;
  color:#fff;
  font-family:inherit;
  font-size:18px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  box-shadow:0 7px 18px rgba(23,79,145,.18);
  cursor:pointer;
}
.znc-article__close button:hover{background:#123f76;border-color:#123f76}
.znc-article__close button:focus-visible{outline:3px solid rgba(23,79,145,.28);outline-offset:3px}
@media(max-width:600px){
  .znc-article__close{width:calc(100% - 24px);margin-top:24px;padding-top:18px}
  .znc-article__close button{width:100%;min-width:0;min-height:54px;padding:12px 18px;font-size:17px}
}


/* 0.3.89 — действия администратора в просмотре публикации. */
.znc-article__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.znc-article__admin-switch{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 16px;
  border:1px solid #173f70;
  border-radius:10px;
  background:#173f70;
  color:#fff;
  font:800 14px/1.2 inherit;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(23,63,112,.16);
}
.znc-article__admin-switch:hover,
.znc-article__admin-switch:focus-visible{
  background:#0f315c;
  border-color:#0f315c;
  color:#fff;
  transform:translateY(-1px);
}
@media(max-width:700px){
  .znc-article__actions{
    width:100%;
    justify-content:stretch;
  }
  .znc-article__actions > *{
    width:100%;
    min-width:0;
  }
  .znc-article__admin-switch{
    white-space:normal;
  }
}
