/* ============================================================
   SILLENO — дизайн-слой (UI/UX) поверх темы bilim.
   Принцип: аккуратно, по сетке, единый ритм. Бренд #01AFF4.
   Правки ТОЧЕЧНЫЕ по реальным селекторам (без слепых margin на .block).
   ============================================================ */
:root{
  --brand:#01AFF4;
  --brand-ink:#0A6EA0;     /* тёмный бренд для текста/ссылок (контраст AA) */
  --brand-deep:#0787BB;
  --ink:#16202A;           /* мягкий тёмный вместо #000 */
  --muted:#657483;
  --line:#E7ECF1;
  --surface:#FFFFFF;
  --surface-2:#F4F7FA;
  --radius:14px;
  --shadow-sm:0 1px 3px rgba(16,32,48,.06), 0 6px 18px rgba(16,32,48,.05);
  --shadow:0 12px 30px rgba(16,32,48,.12);
  --container:1200px;
  --gap:24px;
}

/* ---------- База ---------- */
body{ color:var(--ink); }
main{ overflow-x:hidden; }
main p, .entry-content p, .content p, .about-us p{ color:var(--ink); line-height:1.65; }
main li, .entry-content li, .content li{ line-height:1.65; margin-bottom:8px; }
h1,h2,h3{ color:var(--ink); }

/* Единая контейнерная ширина для контента главной (центрируем, чтобы не разъезжалось) */
main > .container-fluid{ max-width:var(--container); margin-inline:auto; padding-inline:24px; }

/* Единая шкала заголовков */
.page-title,.page-header h1,h1.title{ font-size:clamp(26px,3vw,34px) !important; font-weight:700; line-height:1.15; letter-spacing:-.01em; }
.entry-content h2,.content h2{ font-size:24px; font-weight:700; margin:34px 0 14px; }
.entry-content h3,.content h3{ font-size:20px; font-weight:600; margin:28px 0 12px; }
.entry-content > p,.entry-content > ul,.entry-content > ol{ max-width:72ch; }

/* Ссылки — контрастный бренд */
.entry-content a,.content a,main p a,.intro a{ color:var(--brand-ink); text-decoration:underline; text-underline-offset:3px; }
.entry-content a:hover,.content a:hover{ color:var(--brand-deep); }

/* Доступность — видимый фокус */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.nav-link:focus-visible,.btn:focus-visible{ outline:3px solid #ffb300; outline-offset:2px; border-radius:4px; }

/* ============================================================
   ГЛАВНАЯ — секции (точечно, без дыр)
   ============================================================ */

/* Счётчики: аккуратная плашка, короткий акцент-бар, выверенные отступы */
.row.stats{
  margin:0 !important;
  background:linear-gradient(180deg,var(--surface-2),#fff);
  border-block:1px solid var(--line);
  border-radius:0;
  padding:56px 12px !important;
  gap:0;
}
.stats__item{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:0; padding-inline:12px; }
.stats__number{ font-size:clamp(40px,4vw,54px) !important; font-weight:700 !important; line-height:1 !important; color:var(--brand-ink) !important; font-variant-numeric:tabular-nums; text-shadow:none !important; }
.stats__item span{ width:40px !important; height:3px !important; background:var(--brand) !important; border-radius:2px; margin:14px auto 12px !important; display:block !important; }
.stats__txt{ font-size:15px !important; line-height:1.4 !important; color:var(--muted) !important; max-width:22ch; margin:0 auto !important; }

/* Блок «О проекте» на главной: центрированный, структурный, без провалов */
.about-us.block{ margin:56px auto !important; max-width:820px; text-align:center; }
.about-us .entry-content{ display:flex; flex-direction:column; align-items:center; gap:10px; }
.about-us .entry-content p{ font-size:20px; font-weight:600; line-height:1.4; max-width:40ch; margin:0; }
.about-us .entry-content p:last-of-type{ font-weight:500; color:var(--muted); font-size:17px; }
/* ссылка «Подробнее о проекте» → кнопка */
.about-us a[href*="page_id"], .about-us .entry-content > a{
  display:inline-flex; align-items:center; gap:8px; margin-top:10px;
  background:var(--brand-deep); color:#fff !important; text-decoration:none;
  font-weight:600; font-size:15px; padding:12px 26px; border-radius:11px; transition:.15s;
}
.about-us a[href*="page_id"]:hover, .about-us .entry-content > a:hover{ background:var(--brand-ink); transform:translateY(-1px); }

/* Пустые служебные блоки не должны создавать пустоты */
main .block:empty, main .about__info[style*="display"], main .page-header.block:not(:has(h2:not([style*="none"]))){ margin:0 !important; }
main .page-header.block{ margin:0 !important; }

/* Секция новостей: ровный заголовок + сетка карточек */
.news.block{ margin:56px auto 64px !important; }
.news .page-header{ display:flex !important; justify-content:space-between; align-items:baseline; border-bottom:2px solid var(--line); padding-bottom:14px; margin-bottom:28px; }
.news .page-header h2.title, .news .page-header .title{ font-size:28px !important; font-weight:700; margin:0; }
.news .page-header a{ color:var(--brand-ink) !important; font-weight:600; font-size:15px; text-decoration:none; white-space:nowrap; }
.news .page-header a:hover{ text-decoration:underline; }
/* заголовок новостей — на всю ширину ряда, карточки остаются 4-в-ряд (bootstrap) */
.news.block.row > .page-header{ flex:0 0 100%; width:100%; }

/* ---------- Карточки новостей ---------- */
.nws .card{ border:1px solid var(--line) !important; border-radius:var(--radius) !important; box-shadow:var(--shadow-sm); overflow:hidden; transition:transform .18s, box-shadow .18s; height:100%; background:#fff; }
.nws .card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.nws .news__image{ overflow:hidden; aspect-ratio:16/10; }
.nws .news__image img{ width:100%; height:100%; object-fit:cover; border-radius:0 !important; transition:transform .35s; }
.nws .card:hover .news__image img{ transform:scale(1.05); }
.nws .card-body{ padding:16px 18px 18px !important; display:flex; flex-direction:column; gap:10px; }
.nws .date{ align-self:flex-start; background:var(--brand-deep); color:#fff; font-size:12px; font-weight:600; padding:4px 10px; border-radius:20px; margin:0 !important; }
.nws .card-body .link{ font-weight:600 !important; font-size:16px !important; line-height:1.35 !important; color:var(--ink) !important; }
.nws .card-body .link:hover{ color:var(--brand-ink) !important; }

/* Архив новостей: карточка-строка */
.content.blog .nws .item{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:16px; box-shadow:var(--shadow-sm); margin-bottom:18px; align-items:center; }
.content.blog .nws_header h3{ font-size:19px; font-weight:600; line-height:1.3; margin-bottom:4px; }
.content.blog .intro{ color:var(--muted); }

/* ============================================================
   Внутренние страницы
   ============================================================ */
/* Слим-баннер вместо огромного фото-героя */
body:not(.home) header{ min-height:0 !important; height:280px !important; }
body:not(.home) main{ padding-top:8px; }

/* Хлебные крошки */
/* лёгкие хлебные крошки — без тяжёлой плашки */
.breadcrumb{ background:transparent !important; padding:0 !important; margin:16px 0 20px !important; font-size:13px; color:var(--muted); }
.breadcrumb a{ color:var(--brand-ink); text-decoration:none; }
.breadcrumb a:hover{ text-decoration:underline; }

/* Кнопки — бренд вместо дефолтного бутстрапа */
.btn,.btn-outline-secondary,.btn-outline-primary{ font-family:inherit; font-weight:600; font-size:15px; border-radius:10px; padding:11px 22px; border:1.5px solid var(--brand-deep); transition:.15s; }
.btn-outline-secondary,.btn-outline-primary{ color:var(--brand-deep); background:transparent; }
.btn-outline-secondary:hover,.btn-outline-primary:hover{ background:var(--brand-deep); color:#fff; }

/* Таблицы (Закупки) */
.entry-content table,.content table{ width:100%; border-collapse:collapse; margin:18px 0; font-size:14.5px; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.entry-content table th,.content table th{ background:var(--brand-deep); color:#fff; text-align:left; padding:12px 14px; font-weight:600; }
.entry-content table td,.content table td{ padding:11px 14px; border-top:1px solid var(--line); }
.entry-content table tr:nth-child(even) td{ background:var(--surface-2); }
.entry-content table tr:hover td{ background:#eaf6fe; }

/* Формы (CF7) */
.wpcf7 input:not([type=submit]),.wpcf7 textarea,.wpcf7 select,form .form-control{ border:1px solid var(--line); border-radius:10px; padding:11px 14px; font-size:15px; background:#fff; }
.wpcf7 input:focus,.wpcf7 textarea:focus{ border-color:var(--brand); box-shadow:0 0 0 3px rgba(1,175,244,.15); outline:none; }
.wpcf7 input[type=submit]{ background:var(--brand-deep); color:#fff; border:0; border-radius:10px; padding:12px 28px; font-weight:600; cursor:pointer; }
.wpcf7 input[type=submit]:hover{ background:var(--brand-ink); }

/* ============================================================
   Футер
   ============================================================ */
footer{ background:var(--brand-deep) !important; }
footer .container-fluid{ max-width:var(--container); margin-inline:auto; }
footer .footer_top{ gap:40px !important; padding-block:46px 34px !important; }
footer h4,footer .comp_name{ margin-bottom:14px !important; font-weight:600; font-size:18px; }
footer .fcol2 ul,footer .fcol3 ul{ display:flex; flex-direction:column; gap:8px; }
footer .fcol2 a,footer .fcol3 a,footer li a{ font-size:15.5px !important; line-height:1.4 !important; padding:2px 0 !important; display:inline-block; color:#fff; opacity:.92; }
footer .fcol2 a:hover,footer .fcol3 a:hover{ opacity:1; text-decoration:underline; }
footer .social_links{ display:flex; gap:12px; }
footer .social_links a img{ transition:transform .15s; }
footer .social_links a:hover img{ transform:translateY(-2px); }
footer .footer_bottom{ padding-top:18px !important; border-top:1px solid rgba(255,255,255,.22) !important; }
footer .copyright{ font-size:13px; opacity:.9; }

img{ max-width:100%; height:auto; }
.entry-content img{ border-radius:12px; }

/* убрать лишние провалы от пустых абзацев/переносов в контенте */
.entry-content p:empty, .content p:empty{ display:none !important; }
.entry-content br + br{ display:none; }

/* ============================================================
   Печать / PDF — чистая раскладка без фикс-шапки и видео
   ============================================================ */
@media print{
  *{ -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
  .navigatoin.tz-topbar{ position:static !important; box-shadow:none !important; }
  /* показываем меню в печати (иначе при узком листе уходит в бургер) */
  .navigatoin.tz-topbar #navbar_main{ display:block !important; visibility:visible !important; transform:none !important; position:static !important; height:auto !important; width:100% !important; overflow:visible !important; }
  .navigatoin.tz-topbar .navbar-nav{ display:flex !important; flex-wrap:wrap; justify-content:center; }
  .navigatoin.tz-topbar .navbar-nav > li > a{ font-size:12px !important; padding:8px 10px !important; }
  .c-hamburger, .offcanvas-header{ display:none !important; }
  body{ padding-top:0 !important; }
  .tz-hero-video video, .tz-hero-video iframe{ display:none !important; }
  header.tz-has-video{ min-height:320px !important; }
  body:not(.home) header{ height:240px !important; }
  .tz-right form, .tz-right .eye{ display:none; }           /* поиск/иконки в печати не нужны */
  .nws .card, .content.blog .nws .item, table, tr{ break-inside:avoid; }
  a{ text-decoration:none !important; color:inherit !important; }
  footer{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}

/* ==== Новости (архив): плитки 4-в-ряд, прямоугольные картинки, короткий текст ==== */
.content.blog{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; align-items:stretch; }
.content.blog .page-title,
.content.blog > h1,
.content.blog > .archive-description,
.content.blog > .pagination,
.content.blog > nav{ grid-column:1 / -1; }
.content.blog .nws{ margin:0 !important; width:auto !important; }
.content.blog .nws .item{
  display:flex !important; flex-direction:column; margin:0 !important; padding:0 !important;
  background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden;
  box-shadow:var(--shadow-sm); height:100%; transition:transform .18s, box-shadow .18s;
}
.content.blog .nws .item:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
/* прямоугольная картинка сверху на всю ширину карточки */
.content.blog .nws_img{ width:100% !important; max-width:none !important; flex:0 0 auto !important; padding:0 !important; aspect-ratio:16/10; overflow:hidden; background:var(--surface-2); }
.content.blog .nws_img img{ width:100% !important; height:100% !important; object-fit:cover; border-radius:0 !important; transition:transform .35s; }
.content.blog .nws .item:hover .nws_img img{ transform:scale(1.05); }
/* текстовый блок */
.content.blog .item__block{ width:100% !important; max-width:none !important; flex:1 1 auto !important; padding:16px 18px 18px !important; display:flex; flex-direction:column; gap:8px; }
.content.blog .nws_header{ display:flex; flex-direction:column-reverse; gap:6px; }
.content.blog .nws_header h3{ font-size:16.5px; font-weight:600; line-height:1.3; margin:0; }
.content.blog .nws_header .date{ color:var(--brand-deep); font-size:12.5px; font-weight:600; }
/* короткое описание — максимум 3 строки */
.content.blog .intro{ color:var(--muted); font-size:14px; line-height:1.5; margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.content.blog .nws .btn{ margin-top:auto; align-self:flex-start; }

@media (max-width: 1200px){ .content.blog{ grid-template-columns:repeat(3,1fr); } }
@media (max-width: 900px){ .content.blog{ grid-template-columns:repeat(2,1fr); gap:20px; } }
@media (max-width: 560px){ .content.blog{ grid-template-columns:1fr; } }

/* ==== Кнопка «Все новости» (центр, под блоком новостей на главной) ==== */
.tz-allnews{ display:flex; justify-content:center; margin-top:34px; }
.tz-allnews a{
  display:inline-flex; align-items:center; gap:9px;
  background:var(--brand-deep); color:#fff; text-decoration:none;
  font-weight:600; font-size:15px; padding:13px 30px; border-radius:11px; transition:.15s;
}
.tz-allnews a:hover{ background:var(--brand-ink); transform:translateY(-1px); }

/* ==== Руководство (макет) на странице Компания ==== */
.tz-leadership{ margin:44px 0; }
.tz-lead-title{ font-size:28px; font-weight:700; color:var(--ink); margin:0 0 22px; }
.tz-leaders{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.tz-leader{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px 18px; text-align:center; box-shadow:var(--shadow-sm); transition:transform .18s, box-shadow .18s; }
.tz-leader:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.tz-ava{ width:92px; height:92px; margin:0 auto 14px; border-radius:50%;
  background:linear-gradient(180deg,var(--surface-2),#e9f3fb); color:var(--brand-deep);
  display:flex; align-items:center; justify-content:center; }
.tz-leader-name{ font-weight:600; font-size:16px; color:var(--ink); margin-bottom:4px; }
.tz-leader-pos{ font-size:13.5px; color:var(--muted); line-height:1.35; }
.tz-mock-note{ margin-top:14px; font-size:12.5px; color:var(--muted); font-style:italic; }
@media (max-width:991px){ .tz-leaders{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .tz-leaders{ grid-template-columns:1fr; } }

/* ==== Вкладки внутри страницы (Компания) ==== */
.tz-tabs{ display:flex; flex-wrap:wrap; gap:4px; border-bottom:2px solid var(--line); margin:16px 0 30px; }
.tz-tab{ background:none; border:0; border-bottom:3px solid transparent; margin-bottom:-2px; padding:12px 20px; font-family:inherit; font-weight:600; font-size:15px; color:var(--muted); cursor:pointer; transition:.15s; }
.tz-tab:hover{ color:var(--brand-ink); }
.tz-tab.active{ color:var(--brand-ink); border-bottom-color:var(--brand); }
.tz-pan{ animation:tzFade .22s ease; }
.tz-pan .tz-leadership{ margin:6px 0 0; }
@keyframes tzFade{ from{opacity:0; transform:translateY(5px)} to{opacity:1; transform:none} }
@media (max-width:560px){ .tz-tab{ padding:10px 13px; font-size:14px; } }

/* ==== Партнёры: аккуратные плитки (логотип + название + доля) ==== */
.tz-partners{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:6px 0; }
.tz-partner{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px 18px; text-align:center;
  box-shadow:var(--shadow-sm); display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:14px; transition:transform .18s, box-shadow .18s; }
.tz-partner:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.tz-partner-logo{ height:64px; display:flex; align-items:center; justify-content:center; width:100%; }
.tz-partner-logo img{ max-height:64px; max-width:90%; width:auto; height:auto; object-fit:contain; }
.tz-partner-name{ font-size:14px; font-weight:600; color:var(--ink); line-height:1.35; flex:1; display:flex; align-items:center; }
.tz-partner-share{ font-size:24px; font-weight:700; color:var(--brand-ink); line-height:1; }
@media (max-width:991px){ .tz-partners{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .tz-partners{ grid-template-columns:1fr; } }

/* внутри вкладок заголовок секции дублирует ярлык таба — скрываем */
.tz-pan > .page-header, .tz-pan .tz-lead-title{ display:none !important; }

/* ==== Футер: гармоничный вариант ==== */
footer.tz-foot{
  background:linear-gradient(180deg,#07A3E3 0%, #0583BE 100%) !important;  /* фирменный синий — в стиле сайта */
  border-top:3px solid #cdeefb;
  color:#eaf6fe;
}
footer.tz-foot .footer_top{
  display:grid !important; grid-template-columns:1.6fr 1fr 1fr 1.35fr; gap:38px !important;
  padding-block:50px 34px !important; align-items:start;
}
footer.tz-foot .fcol{ width:auto !important; }
footer.tz-foot .comp_name{ color:#fff; font-weight:600; margin-top:10px; }
footer.tz-foot .flogo{ display:inline-block; }
footer.tz-foot .flogo img{ height:72px !important; max-height:none; width:auto; }
.tz-fh{ color:#fff; font-weight:600; font-size:15px; margin-bottom:16px; letter-spacing:.02em; }
footer.tz-foot .fcol2 a, footer.tz-foot .fcol3 a{ color:#eaf6fe; font-size:15px; line-height:1.5; padding:3px 0; display:inline-block; }
footer.tz-foot .fcol2 a:hover, footer.tz-foot .fcol3 a:hover{ color:#fff; }
/* контакты */
.tz-contacts{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:13px; }
.tz-contacts li{ display:flex; gap:11px; align-items:flex-start; font-size:14.5px; line-height:1.45; color:#eaf6fe; }
.tz-contacts li i{ color:#fff; font-size:15px; width:18px; text-align:center; margin-top:3px; flex:0 0 auto; }
.tz-contacts a{ color:#eaf6fe; text-decoration:none; }
.tz-contacts a:hover{ color:#fff; }
/* соцсети */
footer.tz-foot .social_links{ display:flex; gap:10px; margin-top:16px; }
footer.tz-foot .social_links a{ width:40px; height:40px; border-radius:10px; background:rgba(255,255,255,.1); display:inline-flex; align-items:center; justify-content:center; transition:.15s; }
footer.tz-foot .social_links a:hover{ background:var(--brand); transform:translateY(-2px); }
footer.tz-foot .social_links a img{ max-width:20px; max-height:20px; }
/* низ */
footer.tz-foot .footer_bottom{ border-top:1px solid rgba(255,255,255,.14) !important; padding-top:18px !important; }
footer.tz-foot .copyright{ color:#d7edfb; font-size:12.5px; }
/* кнопка наверх */
.tz-totop{ position:fixed; right:20px; bottom:20px; width:46px; height:46px; border-radius:50%; border:0;
  background:var(--brand-deep); color:#fff; font-size:20px; cursor:pointer; opacity:0; pointer-events:none;
  transition:opacity .2s, transform .2s, background .2s; z-index:60; box-shadow:0 8px 20px rgba(0,0,0,.28); }
.tz-totop.show{ opacity:1; pointer-events:auto; }
.tz-totop:hover{ background:var(--brand-ink); transform:translateY(-3px); }
@media (max-width:900px){ footer.tz-foot .footer_top{ grid-template-columns:1fr 1fr; gap:28px !important; } }
@media (max-width:520px){ footer.tz-foot .footer_top{ grid-template-columns:1fr; } }

/* «ТОО «Силлено»» перенесено в самый низ футера */
footer.tz-foot .footer_bottom{ display:flex !important; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 22px; }
footer.tz-foot .footer_bottom .row{ margin:0; flex:0 1 auto; width:auto; }
footer.tz-foot .tz-comp-bottom{ color:#fff; font-weight:600; font-size:14px; margin:0; order:-1; }

/* копирайт в одну строку */
footer.tz-foot .footer_bottom .row{ flex:0 0 auto; width:auto; }
footer.tz-foot .footer_bottom [class*="col-"]{ width:auto !important; max-width:none !important; flex:0 0 auto !important; }
footer.tz-foot .footer_bottom .copyright{ white-space:nowrap; }
@media (max-width:600px){ footer.tz-foot .footer_bottom .copyright{ white-space:normal; } }

/* ==== Схема проекта (графика вместо картинки) ==== */
.tz-scheme{ display:flex; align-items:stretch; justify-content:center; flex-wrap:nowrap; gap:8px; margin:18px 0 6px; }
.tz-stage{ display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:6px; padding:10px 6px; min-width:118px; }
.tz-stage__ic{ width:62px; height:62px; border-radius:16px; background:linear-gradient(180deg,#e8f5fe,#d4ecfb); color:var(--brand-deep); display:flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:4px; }
.tz-stage__name{ font-weight:700; font-size:19px; color:var(--brand-ink); line-height:1.15; }
.tz-stage__name--big{ font-size:23px; }
.tz-stage__sub{ font-size:12px; color:var(--muted); max-width:16ch; line-height:1.3; }
.tz-stage__note{ font-size:12px; color:var(--muted); }
.tz-stage__val{ font-weight:700; color:var(--brand-ink); font-size:15px; }
.tz-stage__val--big{ font-size:19px; }
.tz-flow{ display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--brand); font-size:20px; padding:0 2px; min-width:42px; }
.tz-flow--lbl span{ font-weight:700; color:var(--brand-ink); font-size:15px; }
.tz-flow--lbl small{ color:var(--muted); font-size:10.5px; margin-bottom:4px; line-height:1.2; text-align:center; }
.tz-plant{ background:#eaf6fe; border:1px solid #d3ecfb; border-radius:18px; padding:14px 14px 16px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.tz-plant__lbl{ font-weight:700; color:var(--brand-deep); font-size:14px; letter-spacing:.01em; }
.tz-silbrand{ color:var(--brand); font-weight:700; letter-spacing:.1em; }
.tz-plant__cards{ display:flex; gap:12px; }
.tz-pc{ background:#fff; border:1px solid #e3eef6; border-radius:14px; padding:16px 14px; width:172px; text-align:center; display:flex; flex-direction:column; gap:5px; box-shadow:var(--shadow-sm); }
.tz-pc__ic{ font-size:25px; color:var(--brand-ink); margin-bottom:4px; }
.tz-pc__t{ font-weight:700; font-size:18px; color:var(--ink); line-height:1.15; }
.tz-pc__s{ font-size:12px; color:var(--brand-deep); font-weight:600; }
.tz-pc__n{ font-size:11px; color:var(--muted); line-height:1.35; margin-top:5px; }
@media (max-width:1150px){
  .tz-scheme{ flex-direction:column; align-items:center; gap:4px; }
  .tz-flow{ flex-direction:row; gap:8px; min-width:0; padding:4px 0; }
  .tz-flow i{ transform:rotate(90deg); }
  .tz-plant, .tz-stage{ width:100%; max-width:440px; }
}
@media (max-width:480px){ .tz-plant__cards{ flex-direction:column; width:100%; } .tz-pc{ width:auto; } }

/* ==== Схема: широкий контейнер + растянутый заголовок ==== */
.tz-scheme-wrap{ position:relative; left:50%; transform:translateX(-50%); width:94vw; max-width:1240px; margin:26px auto 10px; }
.tz-scheme-title{ text-align:center; max-width:1000px; margin:0 auto 6px; font-size:26px; line-height:1.25; color:var(--brand-ink); }
.tz-scheme-title strong{ font-weight:700; }
.tz-scheme-wrap .tz-scheme{ margin-top:16px; }
.tz-scheme-more{ text-align:center; margin:8px 0 0; }
@media (max-width:1150px){ .tz-scheme-wrap{ width:92vw; } .tz-scheme-title{ font-size:22px; } }
@media (max-width:600px){ .tz-scheme-title{ font-size:19px; } }

/* перебить ограничение темы max-width на параграфы внутри схемы */
.entry-content .tz-scheme-wrap .tz-scheme-title{ max-width:1000px !important; width:auto !important; margin-left:auto !important; margin-right:auto !important; }

/* ==== #6 Руководство: реальное фото ==== */
.tz-leaders--real{ display:flex; flex-wrap:wrap; gap:26px; justify-content:center; grid-template-columns:none; }
.tz-leaders--real .tz-leader{ width:250px; padding:0 0 20px; overflow:hidden; }
.tz-ava-photo{ width:100%; height:300px; border-radius:0 !important; margin:0 0 16px !important;
  background:var(--surface-2); display:block; }
.tz-ava-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 15%; display:block; }
.tz-leaders--real .tz-leader-name{ padding:0 16px; font-size:16.5px; }
.tz-leaders--real .tz-leader-pos{ padding:0 16px; }

/* ==== #4 Убрать серый фон на логотипах партнёров (бленд с белой плиткой) ==== */
.slider_link img, .tz-partner-logo img{ mix-blend-mode:multiply; }
.slider_link{ background:#fff !important; }

/* ==== #3 Схема-цепочка (плоский ряд по референсу) ==== */
.tz-chain{ display:flex; align-items:flex-start; justify-content:center; gap:2px; margin:22px 0 4px; }
.tz-chain .tz-node{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; gap:5px; padding:6px 8px; }
.tz-node__ic{ width:58px; height:58px; border-radius:14px; background:linear-gradient(180deg,#e8f5fe,#d4ecfb);
  color:var(--brand-deep); display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:6px; }
.tz-node__t{ font-weight:700; font-size:16px; color:var(--brand-ink); line-height:1.15; }
.tz-node__s{ font-size:12px; color:var(--muted); line-height:1.3; }
.tz-node__n{ font-size:11px; color:var(--muted); line-height:1.32; }
.tz-node__v{ font-weight:700; font-size:14px; color:var(--brand-ink); margin-top:2px; }
.tz-node--out .tz-node__ic{ background:linear-gradient(180deg,#38b6f5,var(--brand)); color:#fff; }
.tz-node--out .tz-node__t{ font-size:18px; }
.tz-node--out .tz-node__v{ font-size:16px; }
.tz-arrow{ flex:0 0 auto; align-self:flex-start; margin-top:24px; color:var(--brand); font-size:18px;
  display:flex; flex-direction:column; align-items:center; }
.tz-arrow--lbl small{ font-size:11px; color:var(--brand-ink); font-weight:600; margin-bottom:4px; white-space:nowrap; }
@media (max-width:1150px){
  .tz-chain{ flex-direction:column; align-items:center; gap:2px; }
  .tz-chain .tz-node{ width:100%; max-width:380px; }
  .tz-arrow{ align-self:center; margin:2px 0; }
  .tz-arrow i{ transform:rotate(90deg); }
}

/* ==== #13 Новость: единая ширина колонки, фото по краям текста, квадратные ==== */
body.single-post .entry-content{ max-width:900px !important; margin-left:0 !important; margin-right:0 !important; }
body.single-post .entry-content > *{ max-width:100% !important; }
body.single-post .entry-content p{ max-width:100% !important; width:auto !important; }
body.single-post .news-single-img{ width:100% !important; max-width:900px !important; margin:0 0 24px !important; display:block !important; }
body.single-post .news-single-img a{ display:block !important; width:100%; }
body.single-post .news-single-img img{ width:100% !important; height:auto !important; max-width:100% !important; display:block; border-radius:0 !important; }
body.single-post .entry-content img{ border-radius:0 !important; }
body.single-post .entry-content a.zoom, body.single-post .entry-content a[data-fancybox]{ display:block; }

/* ==== #10 Страница «Закупки EPC подрядчиков» (по референсу) ==== */
.entry-content .tz-epc-intro{ font-size:16px; color:var(--muted); line-height:1.6; max-width:none !important; width:auto !important; margin:4px 0 26px; }
.tz-epc-h2{ font-size:24px; font-weight:700; color:var(--brand-ink); margin:30px 0 20px; }
.tz-epc-h2::after{ content:""; display:block; width:48px; height:3px; background:var(--brand); border-radius:2px; margin-top:10px; }
.tz-epc-cards{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:0 0 6px; }
.tz-epc-card{ background:linear-gradient(180deg,#f4fafe,#eaf4fc); border:1px solid #d9ecfa; border-radius:16px; padding:26px 26px 24px; display:flex; flex-direction:column; }
.tz-epc-card__top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.tz-epc-logo{ height:40px; width:auto; object-fit:contain; mix-blend-mode:multiply; }
.tz-epc-logos2{ display:flex; align-items:center; gap:16px; }
.tz-epc-logos2 .tz-epc-logo{ height:32px; }
.tz-epc-badge{ flex:0 0 auto; background:#d6ecfb; color:var(--brand-deep); font-size:12px; font-weight:600; padding:6px 12px; border-radius:999px; white-space:nowrap; }
.tz-epc-card__t{ font-size:18px; font-weight:700; color:var(--brand-ink); line-height:1.3; margin:0 0 12px; max-width:none !important; }
.tz-epc-card__d{ font-size:14px; color:var(--muted); line-height:1.55; margin:0 0 20px; flex:1; max-width:none !important; }
.tz-epc-btn{ align-self:flex-start; display:inline-flex; align-items:center; gap:9px; background:var(--brand-ink); color:#fff !important; text-decoration:none; font-weight:600; font-size:14.5px; padding:12px 22px; border-radius:10px; transition:.18s; }
.tz-epc-btn:hover{ background:var(--brand-deep); transform:translateY(-1px); color:#fff !important; }
.tz-epc-btn i{ font-size:13px; }
.tz-epc-2col{ display:grid; grid-template-columns:1fr 1fr; gap:34px; margin:10px 0 0; align-items:start; }
.tz-epc-note-top{ font-size:14px; color:var(--muted); line-height:1.55; margin:0 0 16px; max-width:none !important; }
.tz-epc-doc{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin-bottom:14px; box-shadow:var(--shadow-sm); }
.tz-epc-doc__ic{ flex:0 0 auto; width:46px; height:46px; border-radius:11px; background:#eaf4fc; color:var(--brand-deep); display:flex; align-items:center; justify-content:center; font-size:19px; }
.tz-epc-doc__body{ flex:1; min-width:0; }
.tz-epc-doc__t{ font-weight:700; font-size:15px; color:var(--ink); line-height:1.3; }
.tz-epc-doc__s{ font-size:12.5px; color:var(--muted); margin-top:4px; line-height:1.4; }
.tz-epc-doc__s a{ color:var(--brand-deep); }
.tz-epc-dl{ flex:0 0 auto; display:inline-flex; align-items:center; gap:10px; background:#eef7fd; color:var(--brand-deep) !important; text-decoration:none; font-weight:600; font-size:13.5px; padding:9px 16px; border-radius:10px; border:1px solid #d9ecfa; transition:.15s; }
.tz-epc-dl:hover{ background:var(--brand-ink); color:#fff !important; border-color:var(--brand-ink); }
.tz-epc-dl span{ display:flex; flex-direction:column; line-height:1.15; text-align:left; }
.tz-epc-dl small{ font-size:10.5px; font-weight:500; opacity:.82; }
.tz-epc-info{ display:flex; gap:16px; align-items:flex-start; background:#eaf4fc; border:1px solid #d9ecfa; border-radius:14px; padding:20px 22px; margin:30px 0 10px; }
.tz-epc-info > i{ color:var(--brand); font-size:22px; margin-top:2px; }
.tz-epc-info p{ font-size:13.5px; color:#2c5a77; line-height:1.55; margin:0 0 8px; max-width:none !important; }
.tz-epc-info p:last-child{ margin:0; }
@media (max-width:860px){ .tz-epc-cards, .tz-epc-2col{ grid-template-columns:1fr; gap:18px; } .tz-epc-doc{ flex-wrap:wrap; } }

/* EPC: заголовки как в референсе (обычный регистр) */
.tz-epc-h2, .tz-epc-card__t{ text-transform:none !important; }

/* ==== #9 Страница «О проекте» (по референсу) ==== */
.entry-content .tz-op-sub{ font-size:17px; font-weight:600; color:var(--brand-ink); line-height:1.4; max-width:none !important; width:auto !important; margin:4px 0 26px; }
.tz-op-h2{ font-size:24px; font-weight:700; color:var(--brand-ink); margin:34px 0 20px; text-transform:none; }
.tz-op-h2::after{ content:""; display:block; width:48px; height:3px; background:var(--brand); border-radius:2px; margin-top:10px; }
.tz-op-kpis{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.tz-op-kpi{ background:linear-gradient(180deg,#f4fafe,#eaf4fc); border:1px solid #dcecfa; border-radius:14px; padding:20px 14px; text-align:center; }
.tz-op-kpi__ic{ width:44px; height:44px; margin:0 auto 12px; border-radius:11px; background:#fff; color:var(--brand); display:flex; align-items:center; justify-content:center; font-size:19px; box-shadow:var(--shadow-sm); }
.tz-op-kpi__v{ font-size:23px; font-weight:800; color:var(--brand-ink); line-height:1.1; letter-spacing:-.01em; }
.tz-op-kpi__l{ font-size:12px; color:var(--muted); line-height:1.35; margin-top:8px; }
.tz-op-about{ display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
.tz-op-about__text p{ font-size:15px; color:var(--ink); line-height:1.65; margin:0 0 14px; max-width:none !important; width:auto !important; }
.tz-op-map{ border-radius:14px; overflow:hidden; border:1px solid #dcecfa; margin-bottom:16px; }
.tz-op-map img{ width:100%; height:auto; display:block; }
.tz-op-facts{ display:flex; flex-direction:column; gap:12px; }
.tz-op-fact{ display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px 16px; box-shadow:var(--shadow-sm); }
.tz-op-fact > i{ color:var(--brand); font-size:18px; margin-top:3px; flex:0 0 auto; }
.tz-op-fact b{ display:block; font-size:14px; color:var(--brand-ink); margin-bottom:3px; }
.tz-op-fact span{ font-size:13px; color:var(--muted); line-height:1.45; }
.tz-op-2col{ display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
.tz-op-techlist{ display:flex; flex-direction:column; gap:12px; }
.tz-op-tech{ display:grid; grid-template-columns:120px 1fr; gap:4px 16px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 18px; box-shadow:var(--shadow-sm); }
.tz-op-tech__logo{ grid-row:span 2; display:flex; align-items:center; justify-content:center; height:48px; }
.tz-op-tech__logo img{ max-width:112px; max-height:44px; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.tz-op-tech__r{ font-size:14px; font-weight:600; color:var(--ink); align-self:end; line-height:1.3; }
.tz-op-tech__c{ font-size:12.5px; color:var(--muted); align-self:start; line-height:1.4; }
.tz-op-2col--bottom{ margin-top:14px; }
.tz-op-assort{ display:flex; gap:0; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:var(--shadow-sm); }
.tz-op-assort__img{ width:150px; object-fit:cover; flex:0 0 auto; }
.tz-op-assort__body{ padding:6px 22px 18px; }
.tz-op-markets{ background:#eaf4fc; border:1px solid #dcecfa; border-radius:14px; padding:6px 22px 20px; }
.tz-op-checks{ list-style:none; padding:0; margin:12px 0 0; }
.tz-op-checks li{ position:relative; padding-left:28px; font-size:13.5px; color:var(--ink); line-height:1.5; margin-bottom:12px; }
.tz-op-checks li::before{ content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; left:0; top:1px; color:var(--brand); font-size:13px; }
.tz-op-apps{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.tz-op-app{ display:flex; flex-direction:column; gap:10px; background:#f6fbfe; border:1px solid #e3eef6; border-radius:12px; padding:18px 16px; font-size:13px; color:var(--ink); line-height:1.4; }
.tz-op-app i{ color:var(--brand); font-size:20px; }
.tz-op-med{ display:flex; gap:20px; align-items:flex-start; background:linear-gradient(180deg,#f4fafe,#eaf4fc); border:1px solid #dcecfa; border-radius:14px; padding:24px 26px; margin-top:16px; }
.tz-op-med__ic{ flex:0 0 auto; width:54px; height:54px; border-radius:13px; background:#fff; color:var(--brand); display:flex; align-items:center; justify-content:center; font-size:24px; box-shadow:var(--shadow-sm); }
.tz-op-med__body h3{ font-size:18px; color:var(--brand-ink); margin:0 0 10px; }
.tz-op-med__body p{ font-size:13.5px; color:var(--muted); line-height:1.6; margin:0 0 8px; max-width:none !important; width:auto !important; }
.entry-content .tz-op-sdintro{ font-size:14px; color:var(--muted); line-height:1.6; max-width:none !important; width:auto !important; margin:0 0 18px; }
.tz-op-sdocs{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.tz-op-sdoc{ display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 18px; box-shadow:var(--shadow-sm); }
.tz-op-sdoc i{ color:var(--brand); font-size:18px; margin-top:2px; flex:0 0 auto; }
.tz-op-sdoc span{ font-size:13px; color:var(--ink); line-height:1.45; }
@media (max-width:980px){
  .tz-op-kpis{ grid-template-columns:repeat(3,1fr); }
  .tz-op-about, .tz-op-2col{ grid-template-columns:1fr; gap:22px; }
  .tz-op-apps{ grid-template-columns:repeat(2,1fr); }
  .tz-op-sdocs{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .tz-op-kpis{ grid-template-columns:repeat(2,1fr); }
  .tz-op-assort{ flex-direction:column; }
  .tz-op-assort__img{ width:100%; height:160px; }
}

/* ==== #11 Видео/Фотогалерея ==== */
.entry-content .tz-vg-intro{ font-size:15px; color:var(--muted); line-height:1.6; max-width:none !important; width:auto !important; margin:4px 0 24px; }
.tz-vg-intro a{ color:var(--brand-deep); }
.tz-vg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tz-vg-item{ display:flex; flex-direction:column; text-decoration:none; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:var(--shadow-sm); transition:transform .18s, box-shadow .18s; }
.tz-vg-item:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.tz-vg-thumb{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:var(--surface-2); }
.tz-vg-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .35s; border-radius:0 !important; }
.tz-vg-item:hover .tz-vg-thumb img{ transform:scale(1.05); }
.tz-vg-play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.tz-vg-play i{ width:54px; height:54px; border-radius:50%; background:rgba(1,175,244,.92); color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; padding-left:4px; box-shadow:0 6px 18px rgba(0,0,0,.3); transition:.18s; }
.tz-vg-item:hover .tz-vg-play i{ transform:scale(1.08); background:var(--brand); }
.tz-vg-title{ padding:14px 16px 18px; font-size:14.5px; font-weight:600; color:var(--ink); line-height:1.4; }
.tz-pg-empty{ display:flex; flex-direction:column; align-items:center; gap:14px; padding:60px 20px; border:2px dashed #cfe4f3; border-radius:16px; color:var(--muted); background:#f6fbfe; margin-top:6px; }
.tz-pg-empty i{ font-size:42px; color:var(--brand); opacity:.6; }
.tz-pg-empty span{ font-size:15px; }
@media (max-width:860px){ .tz-vg-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .tz-vg-grid{ grid-template-columns:1fr; } }

/* Руководство: гарантированное центрирование одиночной карточки */
.tz-leadership .tz-leaders--real{ width:100% !important; justify-content:center !important; }
.tz-leadership .tz-leaders--real .tz-leader{ margin-left:auto !important; margin-right:auto !important; }

/* ==== Лайтбокс видеогалереи ==== */
.tz-vglb{ position:fixed; inset:0; z-index:100000; background:rgba(6,16,26,.9); display:flex; align-items:center; justify-content:center; padding:20px; animation:tzFade .2s ease; }
.tz-vglb__box{ position:relative; width:min(1100px,94vw); }
.tz-vglb__frame{ position:relative; width:100%; padding-top:56.25%; background:#000; border-radius:12px; overflow:hidden; box-shadow:0 24px 70px rgba(0,0,0,.55); }
.tz-vglb__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.tz-vglb__close{ position:absolute; top:-46px; right:-4px; width:40px; height:40px; border:0; background:transparent; color:#fff; font-size:36px; line-height:1; cursor:pointer; opacity:.85; }
.tz-vglb__close:hover{ opacity:1; }
.tz-vg-item{ cursor:pointer; }
@media (max-width:600px){ .tz-vglb__close{ top:-42px; right:0; } }
