/*
Theme Name: КБ «Дисплей» — Display KB
Theme URI: https://jazzlyk.xyz
Author: Отдел АСУиТО, КБ «Дисплей»
Author URI: https://jazzlyk.xyz
Description: Корпоративная тема для научно-производственного предприятия по разработке и выпуску дисплеев и систем отображения. Фирменная палитра КБ «Дисплей» (PANTONE Blue 072c #2105A3, #0B2D5E, #1558A4, #3B9FD9), шрифт Golos Text, ГОСТ-панель для слабовидящих, готовность к мультиязычности (Polylang/WPML), динамический блок новостей. Совместима с Odoo-стеком предприятия.
Version: 1.2.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: display-kb
Tags: business, custom-colors, custom-menu, custom-logo, featured-images, footer-widgets, translation-ready, accessibility-ready, two-columns, right-sidebar
*/

/* ============================================================
   ТЕМЫ (CSS-переменные)
   ============================================================ */
:root{
  /* ===== ФИРМЕННАЯ ПАЛИТРА (бренд-гайд КБ «Дисплей») ===== */
  --brand:#2105A3;        /* PANTONE Blue 072c — фирменный */
  --navy:#0B2D5E;         /* тёмно-синий — навигация, топбар */
  --blue:#1558A4;         /* синий — основной акцент */
  --sky:#3B9FD9;          /* голубой — плитки, подсветка */

  --radius:14px;
  --container:1320px;     /* ширина макета: шире, но с полями по краям */
  --base-font:16px;       /* базовый размер шрифта */
}
/* — ТЁМНАЯ (основная, по умолчанию) — */
html[data-theme="dark"],
:root{
  --ink:#061428; --ink-2:#0B2038; --panel:#0F2A4A; --line:#1D4470;
  --accent:#3B9FD9; --accent-dim:#1558A4; --accent-2:#5FB6E8;
  --paper:#E6F0F9; --paper-dim:#8FAAC6; --grid:rgba(59,159,217,.08);
  --card-shadow:0 40px 90px -30px rgba(0,0,0,.8);
}
/* — светлая (по переключателю) — */
html[data-theme="light"]{
  --ink:#FFFFFF; --ink-2:#F5F8FC; --panel:#FFFFFF; --line:#DCE5F0;
  --accent:#1558A4; --accent-dim:#0B2D5E; --accent-2:#3B9FD9;
  --paper:#0B2D5E; --paper-dim:#5C7594; --grid:rgba(21,88,164,.06);
  --card-shadow:0 24px 60px -28px rgba(11,45,94,.18);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ink);color:var(--paper);
  font-family:'Golos Text','Segoe UI',system-ui,sans-serif;line-height:1.6;
  font-size:var(--base-font);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  transition:background .3s,color .3s;
}
::selection{background:var(--accent);color:#fff}
a{color:inherit}
img{max-width:100%;height:auto}

.wrap{max-width:var(--container);margin:0 auto;padding:0 40px}
@media(max-width:768px){.wrap{padding:0 20px}}
@media(max-width:420px){.wrap{padding:0 16px}}
.mono{font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace}
.eyebrow{
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--accent)}

/* ============================================================
   ПАНЕЛЬ ДОСТУПНОСТИ (ГОСТ)
   ============================================================ */
.a11y-bar{background:var(--brand);color:#fff;border-bottom:1px solid rgba(255,255,255,.15)}
.a11y-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 28px;max-width:var(--container);margin:0 auto;flex-wrap:wrap}
.a11y-left{display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;letter-spacing:.04em;font-size:13px}
.a11y-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.a11y-controls button{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:6px;padding:5px 11px;font-size:13px;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:6px;font-family:inherit}
.a11y-controls button:hover{background:rgba(255,255,255,.25)}
.a11y-controls button:focus-visible{outline:3px solid #FFD400;outline-offset:2px}
.a11y-controls .sep{width:1px;height:20px;background:rgba(255,255,255,.25);margin:0 4px}
.theme-toggle{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:6px;padding:5px 12px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:.15s;font-family:'JetBrains Mono',monospace}
.theme-toggle:hover{background:rgba(255,255,255,.25)}
.lang-switch{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.lang-switch a{text-decoration:none;color:#fff;font-size:13px;font-family:'JetBrains Mono',monospace;opacity:.7;padding:3px 6px;border-radius:5px}
.lang-switch a:hover,.lang-switch a.current-lang{opacity:1;background:rgba(255,255,255,.18)}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--ink) 82%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--paper)}
.logo{width:38px;height:38px;border:1.5px solid var(--accent);border-radius:7px;display:grid;place-items:center;position:relative;flex-shrink:0;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 25%,transparent)}
.logo span{width:16px;height:16px;background:linear-gradient(90deg,var(--accent) 1px,transparent 1px) 0 0/4px 4px,linear-gradient(0deg,var(--accent) 1px,transparent 1px) 0 0/4px 4px;opacity:.85}
.logo img{width:100%;height:100%;object-fit:contain;border-radius:5px}
.brand b{font-size:17px;font-weight:700;letter-spacing:-.01em;display:block;line-height:1.15}
.brand small{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-dim);font-family:'JetBrains Mono',monospace}

.main-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.main-nav a{text-decoration:none;color:var(--paper-dim);font-size:14px;font-weight:500;padding:9px 14px;border-radius:7px;transition:.18s;display:block}
.main-nav a:hover{color:var(--paper);background:var(--panel)}
.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:var(--accent)}
.main-nav a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
/* выпадающие подменю */
.main-nav li{position:relative}
.main-nav .sub-menu{position:absolute;top:100%;left:0;min-width:230px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px;display:none;flex-direction:column;gap:2px;box-shadow:var(--card-shadow);z-index:60}
.main-nav li:hover>.sub-menu{display:flex}
.main-nav .sub-menu a{font-size:13.5px}
.nav-cta{background:var(--accent);color:#fff!important;font-weight:600;font-size:14px;padding:10px 18px;border-radius:8px;text-decoration:none;transition:.18s}
.nav-cta:hover{box-shadow:0 0 24px color-mix(in srgb,var(--accent) 40%,transparent);transform:translateY(-1px)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:42px;height:42px;color:var(--paper);font-size:20px;cursor:pointer}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;padding:96px 0 90px;overflow:hidden}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 80% 70% at 70% 35%,#000 30%,transparent 75%)}
.hero-glow{position:absolute;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),color-mix(in srgb,var(--brand) 12%,transparent) 40%,transparent 65%);top:-120px;right:-80px;filter:blur(20px);pointer-events:none}
:root .hero-glow{opacity:1}
html[data-theme="light"] .hero-glow{opacity:.5}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,520px);gap:80px;align-items:center}
.hero h1{font-size:clamp(40px,5.4vw,68px);line-height:1.02;font-weight:800;letter-spacing:-.03em;margin:22px 0 24px}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p.lead{font-size:18px;color:var(--paper-dim);max-width:480px;margin-bottom:34px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
/* обе кнопки одной ширины: тянутся до самой широкой из пары */
.hero-actions .btn{flex:1 1 0;justify-content:center;min-width:190px}
.submenu-toggle{display:none}   /* видна только в мобильном меню */
.btn{padding:14px 26px;border-radius:9px;font-weight:600;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;gap:9px;transition:.2s;cursor:pointer;border:none}
.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{box-shadow:0 0 28px color-mix(in srgb,var(--accent) 45%,transparent);transform:translateY(-2px)}
.btn-ghost{background:var(--panel);color:var(--paper);border:2px solid var(--line)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--panel)}
/* вариант для светлых секций (герой): всегда белый с тёмным текстом */
.btn-ghost--light{background:#fff;color:var(--accent-dim);border:2px solid var(--line)}
.btn-ghost--light:hover{border-color:var(--accent);color:var(--accent);background:#fff}
.hero-stats{display:flex;gap:34px;margin-top:46px;padding-top:30px;border-top:1px solid var(--line)}
.hero-stats div b{font-size:30px;font-weight:800;color:var(--paper);display:block;letter-spacing:-.02em}
.hero-stats div span{font-size:12.5px;color:var(--paper-dim);font-family:'JetBrains Mono',monospace}

.panel-display{position:relative;aspect-ratio:4/3;border-radius:16px;background:linear-gradient(160deg,var(--ink-2),var(--ink));border:1px solid var(--line);padding:18px;box-shadow:var(--card-shadow)}
.screen{position:relative;height:100%;width:100%;border-radius:9px;overflow:hidden;background:#0a0e22;border:1px solid #1a2230}
.screen-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(0,0,0,.25) 3px);pointer-events:none;z-index:1}
.screen-content{position:absolute;inset:0;padding:22px;display:flex;flex-direction:column;justify-content:center}

/* HUD: надписи прибора поверх любого содержимого (макет/фото/видео) */
.scr-hud{
    position:absolute;inset:0;z-index:2;
    padding:22px;pointer-events:none;
    display:flex;flex-direction:column;justify-content:space-between;
}
.scr-hud .scr-badge,.scr-hud .scr-readout{
    /* тень, чтобы текст читался и на светлом кадре видео */
    text-shadow:0 1px 6px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9);
}
.scr-top{display:flex;justify-content:space-between;align-items:flex-start}
.scr-badge{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent-2);letter-spacing:.1em}
.scr-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 10px var(--accent-2);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.scr-bars{display:flex;align-items:flex-end;gap:6px;height:90px;width:100%}
.scr-bars i{flex:1;background:linear-gradient(180deg,var(--accent-2),var(--accent-dim));border-radius:3px 3px 0 0;opacity:.9;animation:rise 2.4s ease-in-out infinite}
.scr-bars i:nth-child(1){animation-delay:0s}.scr-bars i:nth-child(2){animation-delay:.2s}.scr-bars i:nth-child(3){animation-delay:.4s}.scr-bars i:nth-child(4){animation-delay:.6s}.scr-bars i:nth-child(5){animation-delay:.8s}.scr-bars i:nth-child(6){animation-delay:1s}.scr-bars i:nth-child(7){animation-delay:1.2s}
@keyframes rise{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.scr-readout{font-family:'JetBrains Mono',monospace;font-size:11px;color:#aab4d8;line-height:1.9}
.scr-readout b{color:#fff}
.float-chip{position:absolute;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:11px 15px;font-family:'JetBrains Mono',monospace;font-size:12px;box-shadow:0 14px 30px -10px rgba(0,0,0,.4)}
.chip-1{top:-16px;left:-22px;color:var(--accent-2)}
.chip-2{bottom:-18px;right:-16px;color:var(--accent)}

/* ============================================================
   СЕКЦИИ
   ============================================================ */
.section{padding:88px 0}
.sec-head{margin-bottom:52px;max-width:680px}
.sec-head h2{font-size:clamp(30px,3.6vw,44px);font-weight:800;letter-spacing:-.025em;margin:16px 0 14px;line-height:1.08}
.sec-head p{color:var(--paper-dim);font-size:16.5px}

.tint{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px;transition:.22s;position:relative;overflow:hidden;text-decoration:none;display:block;color:var(--paper)}
.card::after{content:"";position:absolute;inset:0;border-radius:14px;border:1px solid transparent;transition:.22s;pointer-events:none}
.card:hover{transform:translateY(-4px)}
.card:hover::after{border-color:color-mix(in srgb,var(--accent) 40%,transparent)}
.card-ico{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;margin-bottom:18px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}
.card-ico svg{width:24px;height:24px;stroke:var(--accent)}
.card h3{font-size:18.5px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}
.card p{color:var(--paper-dim);font-size:14.5px;margin-bottom:16px}
.card-meta{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--accent);display:flex;align-items:center;gap:7px}
.card-meta::before{content:"→"}

.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.svc{display:flex;gap:18px;padding:24px;border:1px solid var(--line);border-radius:13px;background:var(--panel);transition:.2s}
.svc:hover{border-color:color-mix(in srgb,var(--accent) 35%,transparent);transform:translateY(-3px);box-shadow:var(--card-shadow)}
.svc:hover .svc-num{color:var(--accent)}
.svc-num{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--accent);font-weight:600;flex-shrink:0;padding-top:2px}
.svc h4{font-size:16.5px;font-weight:700;margin-bottom:6px}
.svc p{color:var(--paper-dim);font-size:14px}

.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.post-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);transition:.2s;text-decoration:none;color:var(--paper);display:flex;flex-direction:column}
.post-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
.post-img{height:160px;background:linear-gradient(135deg,var(--ink-2),var(--ink));position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.post-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post-img .ph{position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px}
.post-img b{position:absolute;bottom:14px;left:16px;font-family:'JetBrains Mono',monospace;font-size:40px;font-weight:800;color:color-mix(in srgb,var(--accent) 28%,transparent)}
.post-body{padding:22px}
.post-date{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--accent);letter-spacing:.05em}
.post-card h4{font-size:16.5px;font-weight:700;margin:10px 0 8px;line-height:1.3}
.post-card p{color:var(--paper-dim);font-size:14px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.big-card{border:1px solid var(--line);border-radius:16px;padding:38px;position:relative;overflow:hidden;background:var(--panel)}
.big-card.accent{background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 14%,var(--panel)),var(--panel));border-color:color-mix(in srgb,var(--accent) 30%,transparent)}
.big-card h3{font-size:24px;font-weight:800;margin:14px 0 12px;letter-spacing:-.02em}
.big-card p{color:var(--paper-dim);font-size:15px;margin-bottom:24px;max-width:90%}
.link-list{list-style:none;display:flex;flex-direction:column;gap:2px;margin:0;padding:0}
.link-list a{text-decoration:none;color:var(--paper);font-size:14.5px;padding:11px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;transition:.16s}
.link-list a:hover{color:var(--accent);padding-left:6px}
.link-list a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.link-list a span{color:var(--paper-dim);font-family:'JetBrains Mono',monospace;font-size:18px}

/* ============================================================
   КОНТЕНТ СТРАНИЦ / ЗАПИСЕЙ (page.php, single.php)
   ============================================================ */
.page-hero{padding:64px 0 40px;border-bottom:1px solid var(--line);background:var(--ink-2)}
.page-hero h1{font-size:clamp(32px,4vw,52px);font-weight:800;letter-spacing:-.025em;margin-top:14px}
.content-area{padding:64px 0;max-width:1040px;margin:0 auto}
.content-area p{font-size:16.5px;color:var(--paper);margin-bottom:20px}
.content-area h2{font-size:28px;font-weight:800;margin:36px 0 16px}
.content-area h3{font-size:21px;font-weight:700;margin:28px 0 12px}
.content-area ul,.content-area ol{margin:0 0 20px 24px}
.content-area li{margin-bottom:8px;font-size:16px}
.content-area a{color:var(--accent);text-decoration:underline}
.content-area img{border-radius:12px;margin:20px 0}
.content-area blockquote{border-left:3px solid var(--accent);padding-left:20px;margin:24px 0;color:var(--paper-dim);font-style:italic}
.post-meta-bar{display:flex;gap:16px;align-items:center;margin-top:16px;font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--paper-dim)}
.pagination{display:flex;gap:8px;justify-content:center;padding:40px 0;flex-wrap:wrap}
.pagination .page-numbers{padding:9px 15px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--paper);font-size:14px;transition:.16s}
.pagination .page-numbers:hover,.pagination .page-numbers.current{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ============================================================
   FOOTER (+ виджеты)
   ============================================================ */
.site-footer{background:var(--ink-2);border-top:1px solid var(--line);padding:64px 0 32px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.foot-brand p{color:var(--paper-dim);font-size:14px;margin-top:18px;max-width:260px}

/* бренд подвала — логотип и текст в ряд, как в шапке (единообразие) */
.site-footer .brand{display:inline-flex;flex-direction:row;align-items:center;gap:13px;flex-wrap:nowrap}
.site-footer .brand .brand-text,
.site-footer .brand > span{display:flex;flex-direction:column;text-align:left}
.site-footer .brand b{font-size:18px;font-weight:800;line-height:1.15;color:var(--paper)}
.site-footer .brand small{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim);margin-top:2px}
.foot-col h5,.foot-col .widget-title{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim);font-family:'JetBrains Mono',monospace;margin-bottom:18px}
.foot-col a{display:block;text-decoration:none;color:var(--paper);font-size:14.5px;padding:6px 0;transition:.16s}
.foot-col a:hover{color:var(--accent)}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{padding:0}
.foot-bottom{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.foot-bottom p{color:var(--paper-dim);font-size:13px}
.foot-bottom .mono{color:var(--paper-dim);font-size:12px}

/* ============================================================
   РЕЖИМ СЛАБОВИДЯЩИХ (ГОСТ)
   ============================================================ */
body.vi{background:var(--vi-bg)!important;color:var(--vi-fg)!important;font-family:Georgia,'Times New Roman',serif!important;letter-spacing:var(--vi-spacing,normal)}
body.vi.scheme-bw{--vi-bg:#fff;--vi-fg:#000;--vi-accent:#000}
body.vi.scheme-wb{--vi-bg:#000;--vi-fg:#fff;--vi-accent:#fff}
body.vi.scheme-by{--vi-bg:#9DD1FF;--vi-fg:#063462;--vi-accent:#063462}
body.vi *{background:transparent!important;color:var(--vi-fg)!important;border-color:var(--vi-fg)!important;box-shadow:none!important;text-shadow:none!important;border-radius:0!important}
body.vi .a11y-bar,body.vi .a11y-bar *{background:var(--vi-fg)!important;color:var(--vi-bg)!important;border-color:var(--vi-fg)!important}
body.vi a,body.vi .eyebrow,body.vi .scr-badge,body.vi .card-meta,body.vi .post-date,body.vi .svc-num{color:var(--vi-accent)!important;text-decoration:underline}
body.vi .btn,body.vi .nav-cta{border:2px solid var(--vi-fg)!important;text-decoration:none!important}
body.vi .site-header{position:static}
body.vi .hero-grid,body.vi .hero-glow,body.vi .post-img .ph,body.vi .screen-scan,body.vi .scr-bars,body.vi .float-chip,body.vi .logo span{display:none!important}
body.vi .panel-display,body.vi .screen{border:2px solid var(--vi-fg)!important}
body.vi.hide-img .card-ico,body.vi.hide-img .panel-display,body.vi.hide-img .post-img,body.vi.hide-img img{display:none!important}
body.vi .logo{border:2px solid var(--vi-fg)!important}
body.vi.fs-1{font-size:18px}
body.vi.fs-2{font-size:22px}
body.vi.fs-3{font-size:26px}
body.vi.fs-1 .hero h1,body.vi.fs-2 .hero h1,body.vi.fs-3 .hero h1{font-size:2em}
body.vi.fs-1 .sec-head h2,body.vi.fs-2 .sec-head h2,body.vi.fs-3 .sec-head h2{font-size:1.6em}

/* ============================================================
   WP служебные классы
   ============================================================ */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;word-wrap:normal}
.skip-link{position:absolute;left:-9999px;z-index:999;padding:12px 20px;background:var(--accent);color:#fff;text-decoration:none}
.skip-link:focus{left:10px;top:10px}
.aligncenter{display:block;margin:0 auto}
.alignright{float:right;margin:0 0 16px 16px}
.alignleft{float:left;margin:0 16px 16px 0}
.wp-caption-text{font-size:13px;color:var(--paper-dim);text-align:center;margin-top:6px}
.sticky,.gallery-caption,.bypostauthor{}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media(max-width:980px){
  .hero .wrap{grid-template-columns:1fr;gap:48px}
  .panel-display{max-width:440px}
  .cat-grid,.news-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:720px){
  .main-nav,.nav-cta{display:none}
  .main-nav.open{display:block;position:absolute;top:72px;left:0;right:0;background:var(--ink);border-bottom:1px solid var(--line);padding:16px 28px}
  .main-nav.open ul{flex-direction:column;gap:2px}
  .burger{display:grid;place-items:center}
  .cat-grid,.news-grid,.svc-grid,.split{grid-template-columns:1fr}
  .hero-stats{flex-wrap:wrap;gap:22px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .section{padding:64px 0}
  .a11y-left{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ============================================================
   ГАЛЕРЕЯ ТОВАРА (карточка изделия)
   ============================================================ */
.kb-gallery-main{
    border:1px solid var(--line);border-radius:14px;overflow:hidden;
    background:var(--panel);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;
}
.kb-gallery-main img{width:100%;height:100%;object-fit:contain;display:block}
.kb-gallery-thumbs{
    display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;
}
.kb-thumb{
    width:72px;height:72px;border:2px solid var(--line);border-radius:9px;
    overflow:hidden;cursor:pointer;background:var(--panel);padding:0;transition:.16s;
}
.kb-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.kb-thumb:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}
.kb-thumb.is-active{border-color:var(--accent)}
.kb-thumb:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* стрелки галереи */
.kb-gallery-main{position:relative}
.kb-arrow{
    position:absolute;top:50%;transform:translateY(-50%);z-index:2;
    width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
    background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(6px);
    color:var(--paper);font-size:26px;line-height:1;cursor:pointer;
    display:grid;place-items:center;transition:.16s;padding:0;
}
.kb-arrow:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.kb-arrow:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.kb-arrow--prev{left:14px}
.kb-arrow--next{right:14px}
@media(max-width:560px){.kb-arrow{width:38px;height:38px;font-size:22px}}

/* ============================================================
   ШАПКА — ТРИ ЯРУСА (по бренд-гайду)
   ============================================================ */

/* ─── ЯРУС 1: топбар (тёмно-синий) ─── */
.topbar{background:var(--navy);color:#fff;font-size:13px}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;min-height:40px;flex-wrap:wrap;padding:6px 0}
.topbar-address{opacity:.9;letter-spacing:.01em}
.topbar-address{flex:1 1 auto;min-width:0}

/* ссылки партнёров/госпорталов */
.topbar-links{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.topbar-links a{color:#fff;text-decoration:none;opacity:.85;transition:.15s;font-size:13px}
.topbar-links a:hover{opacity:1;text-decoration:underline}

/* кнопка «Слабовидящим» */
.topbar-a11y{
    display:inline-flex;align-items:center;gap:7px;
    background:none;border:none;color:#fff;cursor:pointer;
    font-size:13px;font-family:inherit;padding:4px 0;opacity:.9;transition:.15s;
}
.topbar-a11y:hover{opacity:1}
.topbar-a11y:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* язык + тема */
.topbar .lang-switch{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.topbar .lang-switch a{color:#fff;text-decoration:none;font-size:13px;opacity:.75;padding:2px 5px;border-radius:4px}
.topbar .lang-switch a:hover,.topbar .lang-switch a.current-lang{opacity:1;background:rgba(255,255,255,.15)}
.topbar .theme-toggle{
    background:none;border:none;color:#fff;cursor:pointer;font-size:15px;
    opacity:.8;padding:2px 6px;transition:.15s;
}
.topbar .theme-toggle:hover{opacity:1}

/* ─── ПАНЕЛЬ ГОСТ (скрыта, показывается при включении режима) ─── */
.a11y-bar{display:none;background:var(--navy);color:#fff;border-bottom:2px solid var(--sky)}
body.vi .a11y-bar{display:block}

/* ─── ЯРУС 2: белая шапка ─── */
.header-main{background:#fff;border-bottom:1px solid var(--line)}
.header-main-inner{
    display:grid;grid-template-columns:auto 1fr auto;
    align-items:center;gap:32px;min-height:96px;
}
.header-main .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy)}
.header-main .brand img{max-height:56px;width:auto}
.brand-text b{display:block;font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.15;color:var(--navy)}
.brand-text small{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim);margin-top:2px}

/* поиск по сайту */
.header-search{display:flex;max-width:420px;width:100%;justify-self:center}
.header-search input{
    flex:1;padding:13px 16px;font-size:15px;font-family:inherit;
    border:1px solid var(--line);border-right:none;border-radius:8px 0 0 8px;
    background:#fff;color:var(--paper);outline:none;transition:.15s;
}
.header-search input:focus{border-color:var(--blue)}
.header-search input::placeholder{color:var(--paper-dim)}
.header-search button{
    display:inline-flex;align-items:center;gap:7px;
    padding:13px 24px;border:none;border-radius:0 8px 8px 0; /* = .hc-btn */
    background:var(--blue);color:#fff;font-size:15px;font-weight:600;
    font-family:inherit;cursor:pointer;transition:.15s;white-space:nowrap;
}
.header-search button:hover{background:var(--navy)}
.header-search button:focus-visible{outline:3px solid var(--sky);outline-offset:2px}

/* контакты справа */
.header-contacts{display:flex;align-items:center;gap:20px}
.hc-text{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.hc-label{font-size:12px;color:var(--paper-dim)}
.hc-phone{font-size:19px;font-weight:800;color:var(--navy);text-decoration:none;letter-spacing:-.01em}
.hc-phone:hover{color:var(--blue)}
.hc-email{font-size:13px;color:var(--paper-dim);text-decoration:none}
.hc-email:hover{color:var(--blue);text-decoration:underline}
.hc-btn{padding:13px 24px;font-size:15px;white-space:nowrap}

/* ─── ЯРУС 3: навигация (тёмно-синяя) ─── */
.site-nav{background:var(--navy);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}
.site-nav ul{display:flex;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:center}
.site-nav li{position:relative}
.site-nav a{
    display:block;padding:15px 20px;color:#fff;text-decoration:none;
    font-size:15px;font-weight:500;transition:.15s;
}
.site-nav a:hover{background:var(--blue)}
.site-nav .current-menu-item>a,.site-nav .current_page_item>a{background:var(--blue)}
.site-nav a:focus-visible{outline:3px solid var(--sky);outline-offset:-3px}

/* выпадающее подменю */
.site-nav .sub-menu{
    position:absolute;top:100%;left:0;min-width:240px;
    background:var(--navy);border-top:2px solid var(--sky);
    display:none;flex-direction:column;box-shadow:0 12px 30px -8px rgba(0,0,0,.35);z-index:60;
}
.site-nav li:hover>.sub-menu{display:flex}
.site-nav .sub-menu a{padding:12px 20px;font-size:14px;font-weight:400}
.site-nav .sub-menu a:hover{background:var(--blue)}

/* ─── адаптив шапки ─── */
@media(max-width:1100px){
    .header-main-inner{grid-template-columns:auto 1fr;gap:20px}
    .header-search{grid-column:1/-1;grid-row:2;max-width:100%;justify-self:stretch;margin-bottom:16px}
    .header-main-inner{padding:16px 0}
}
@media(max-width:860px){
    .topbar-address{display:none}
    .topbar-links{display:none}
    .header-contacts{gap:12px}
    .hc-btn{padding:11px 16px;font-size:14px}
}
@media(max-width:720px){
    .header-main-inner{grid-template-columns:1fr auto}
    .header-contacts{display:none}
    .site-nav{display:none}
    .site-nav.open{display:block}
    .site-nav ul{flex-direction:column}

    /* пункт с детьми: ссылка и стрелка в одну строку */
    .site-nav .menu-item-has-children{display:flex;flex-wrap:wrap;align-items:stretch}
    .site-nav .menu-item-has-children > a{flex:1}
    .site-nav .submenu-toggle{
        flex:0 0 52px;background:transparent;border:0;color:#fff;
        font-size:15px;cursor:pointer;border-left:1px solid rgba(255,255,255,.12);
        transition:.18s;
    }
    .site-nav .submenu-toggle span{display:inline-block;transition:transform .2s}
    .site-nav .submenu-open > .submenu-toggle span{transform:rotate(180deg)}

    /* на телефоне подменю раскрывается классом, а не наведением */
    .site-nav .sub-menu{
        position:static;min-width:0;width:100%;
        border-top:0;box-shadow:none;
        background:rgba(0,0,0,.22);
        display:none;
    }
    .site-nav li:hover > .sub-menu{display:none}          /* глушим hover-логику */
    .site-nav .submenu-open > .sub-menu{display:flex}
    .site-nav .sub-menu a{padding-left:32px}
    .burger{display:grid;place-items:center;border-color:var(--line);color:var(--navy)}
}

/* ============================================================
   ТЁМНАЯ ТЕМА: адаптация шапки (поиск, контакты, логотип)
   ============================================================ */
html:not([data-theme="light"]) .header-main{
    background:var(--ink-2);
    border-bottom-color:var(--line);
}
html:not([data-theme="light"]) .header-main .brand,
html:not([data-theme="light"]) .brand-text b{color:var(--paper)}
html:not([data-theme="light"]) .brand-text small{color:var(--paper-dim)}

/* поле поиска */
html:not([data-theme="light"]) .header-search input{
    background:var(--panel);
    color:var(--paper);
    border-color:var(--line);
}
html:not([data-theme="light"]) .header-search input::placeholder{color:var(--paper-dim)}
html:not([data-theme="light"]) .header-search input:focus{border-color:var(--accent)}
html:not([data-theme="light"]) .header-search button{background:var(--accent)}
html:not([data-theme="light"]) .header-search button:hover{background:var(--accent-2)}

/* контакты */
html:not([data-theme="light"]) .hc-label{color:var(--paper-dim)}
html:not([data-theme="light"]) .hc-phone{color:var(--paper)}
html:not([data-theme="light"]) .hc-phone:hover{color:var(--accent)}
html:not([data-theme="light"]) .hc-email{color:var(--paper-dim)}
html:not([data-theme="light"]) .hc-email:hover{color:var(--accent)}

/* топбар и навигация в тёмной — чуть глубже */
html:not([data-theme="light"]) .topbar{background:#04101F}
html:not([data-theme="light"]) .site-nav{background:#04101F}
html:not([data-theme="light"]) .site-nav a:hover,
html:not([data-theme="light"]) .site-nav .current-menu-item>a{background:var(--accent-dim)}
html:not([data-theme="light"]) .site-nav .sub-menu{background:#04101F;border-top-color:var(--accent)}

/* ============================================================
   БЛОК СТАТИСТИКИ (голубые плитки на всю ширину)
   ============================================================ */
.stats-band{
    background:var(--navy);   /* как навигация/топбар */
    width:100%;
}
.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    max-width:var(--container);
    margin:0 auto;
}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}
.stat-cell{
    padding:26px 20px;
    text-align:center;
    color:#fff;
    border-right:1px solid rgba(255,255,255,.18);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
}
/* чередование оттенков — как на референсе */
.stat-cell:nth-child(even){background:rgba(255,255,255,.07)}
.stat-cell:last-child{border-right:none}

.stat-num{
    font-size:clamp(26px,2.6vw,34px);
    font-weight:800;
    letter-spacing:-.02em;
    line-height:1;
    color:#fff;
}
.stat-label{
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    opacity:.92;
    font-weight:500;
}

/* тёмная тема — плитки чуть глубже */
html:not([data-theme="light"]) .stats-band{background:var(--accent-dim)}

/* адаптив */
@media(max-width:860px){
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .stat-cell:nth-child(2){border-right:none}
    .stat-cell:nth-child(1),.stat-cell:nth-child(2){border-bottom:1px solid rgba(255,255,255,.18)}
}
@media(max-width:480px){
    .stats-grid{grid-template-columns:1fr}
    .stat-cell{border-right:none;border-bottom:1px solid rgba(255,255,255,.18)}
    .stat-cell:last-child{border-bottom:none}
}

/* ============================================================
   КАРТОЧКА ИЗДЕЛИЯ (по референсу)
   ============================================================ */

/* ── хлебные крошки ── */
.pd-crumbs-bar{background:var(--ink-2);border-bottom:1px solid var(--line);padding:14px 0}
/* Хлебные крошки — общий стиль для всех шаблонов.
   Разделитель «›» ставится ПОСЛЕ каждого звена, кроме последнего,
   через :not(:last-child) — тип тега (a/strong/span) значения не имеет,
   поэтому пути не слипаются и разделители не задваиваются. */
.kb-crumbs{
    display:flex;flex-wrap:wrap;align-items:center;
    font-size:14px;line-height:1.6;
}
.kb-crumbs a{color:var(--paper-dim);text-decoration:none;transition:.16s}
.kb-crumbs a:hover{color:var(--accent)}
.kb-crumbs strong{color:var(--accent);font-weight:600}
.kb-crumbs > *:not(:last-child)::after{
    content:"›";margin:0 10px;opacity:.4;color:var(--paper-dim);font-weight:400;
}

.pd-crumbs-bar .kb-crumbs{margin:0;font-family:inherit}

/* ── верхний блок ── */
.pd-top{background:var(--ink);padding:40px 0 48px}
.pd-top-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:start}

.pd-media{position:sticky;top:80px}
.pd-gallery-main{
    position:relative;border:1px solid var(--line);border-radius:12px;
    background:var(--ink-2);aspect-ratio:1/1;
    display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.pd-gallery-main img{width:100%;height:100%;object-fit:contain;padding:24px;display:block}
.pd-media-empty{
    border:1px solid var(--line);border-radius:12px;background:var(--ink-2);
    aspect-ratio:1/1;display:grid;place-items:center;color:var(--paper-dim);
}
.pd-media-empty svg{width:72px;height:72px}

/* ── информация справа ── */
.pd-badge{
    display:inline-block;padding:6px 14px;border-radius:6px;
    background:color-mix(in srgb,var(--accent) 10%,transparent);
    color:var(--accent);font-size:12px;font-weight:700;
    letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
    transition:.15s;
}
.pd-badge:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}

.pd-title{
    font-size:clamp(26px,3vw,34px);font-weight:800;
    letter-spacing:-.02em;color:var(--navy);margin:16px 0 18px;line-height:1.15;
}
html:not([data-theme="light"]) .pd-title{color:var(--paper)}

.pd-lead{color:var(--paper-dim);font-size:16px;line-height:1.65;margin-bottom:28px}
.pd-lead p{margin:0}

.pd-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.pd-cta{padding:15px 28px;font-size:15px}
.pd-print{padding:15px 20px;font-size:14px;display:inline-flex;align-items:center;gap:8px}

.pd-note{
    padding:16px 20px;border:1px solid var(--line);border-radius:8px;
    background:var(--ink-2);color:var(--paper-dim);font-size:14px;
}

/* ── вкладки ── */
.pd-tabs-section{background:var(--ink-2);border-top:1px solid var(--line);padding:0 0 56px}
.pd-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:32px;flex-wrap:wrap}
.pd-tab{
    padding:18px 24px;background:none;border:none;border-bottom:3px solid transparent;
    color:var(--paper-dim);font-family:inherit;font-size:15px;font-weight:600;
    cursor:pointer;transition:.15s;margin-bottom:-1px;
}
.pd-tab:hover{color:var(--paper)}
.pd-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}
.pd-tab:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}

.pd-panel{display:none;padding-top:8px}
.pd-panel.is-active{display:block}

/* контент описания */
.pd-content{color:var(--paper);font-size:16px;line-height:1.7;max-width:900px}
.pd-content p{margin-bottom:14px}
.pd-content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}
.pd-content th,.pd-content td{border:1px solid var(--line);padding:13px 18px;text-align:left}
.pd-content th{background:var(--ink);font-weight:700;color:var(--navy)}
html:not([data-theme="light"]) .pd-content th{color:var(--paper)}
.pd-content td{background:var(--ink)}
.pd-content ul,.pd-content ol{margin:0 0 16px 22px}
.pd-content li{margin-bottom:6px}

/* таблица характеристик */
.pd-specs{width:100%;border-collapse:collapse;font-size:15px;max-width:900px}
.pd-specs tr{border-bottom:1px solid var(--line)}
.pd-specs tr:last-child{border-bottom:none}
.pd-specs th{
    text-align:left;padding:14px 20px;width:40%;
    color:var(--paper-dim);font-weight:500;background:var(--ink);
}
.pd-specs td{padding:14px 20px;color:var(--paper);font-weight:600;background:var(--ink)}

/* документы */
.pd-docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-width:760px}
.pd-doc{
    display:flex;align-items:center;gap:14px;padding:16px 20px;
    border:1px solid var(--line);border-radius:8px;background:var(--ink);
    text-decoration:none;color:var(--paper);transition:.16s;
}
.pd-doc:hover{border-color:var(--accent);transform:translateX(3px)}
.pd-doc-ext{
    flex-shrink:0;min-width:48px;height:44px;border-radius:6px;
    background:color-mix(in srgb,var(--accent) 12%,transparent);
    border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);
    color:var(--accent);display:grid;place-items:center;
    font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;
}
.pd-doc-name{flex:1;font-size:15px;font-weight:600}
.pd-doc-size{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--paper-dim)}

/* адаптив */
@media(max-width:900px){
    .pd-top-grid{grid-template-columns:1fr;gap:32px}
    .pd-media{position:static}
    .pd-tabs{gap:0}
    .pd-tab{padding:14px 16px;font-size:14px}
}
@media(max-width:560px){
    .pd-actions{flex-direction:column}
    .pd-cta,.pd-print{width:100%;justify-content:center}
}

/* ============================================================
   ВЕРСИЯ ДЛЯ ПЕЧАТИ
   Ctrl+P или кнопка «Версия для печати».
   Скрывает навигацию, раскрывает все вкладки.
   ============================================================ */
.print-only{display:none}

@media print{
    /* прячем всё лишнее */
    .topbar,.a11y-bar,.header-main,.site-nav,.site-footer,
    .no-print,.pd-tabs,.burger,.skip-link,
    .kb-arrow,.kb-gallery-thumbs,.pd-actions,.pd-crumbs-bar{
        display:none !important;
    }

    /* раскрываем ВСЕ вкладки разом */
    .pd-panel{display:block !important;page-break-inside:avoid;margin-bottom:24px}

    /* заголовки разделов видны только в печати */
    .print-only{
        display:block !important;
        font-size:16pt;font-weight:700;margin:0 0 12px;
        padding-bottom:6px;border-bottom:2px solid #000;
    }

    /* чёрным по белому, без фонов */
    *{
        background:#fff !important;color:#000 !important;
        box-shadow:none !important;text-shadow:none !important;
    }

    body{font-size:11pt;line-height:1.5}
    .wrap{max-width:100%;padding:0}

    .pd-top{padding:0 0 20px}
    .pd-top-grid{grid-template-columns:1fr 1.4fr;gap:24px;page-break-inside:avoid}

    .pd-gallery-main{border:1px solid #999;aspect-ratio:auto;max-height:260px}
    .pd-gallery-main img{padding:8px;max-height:250px}

    .pd-badge{border:1px solid #000;padding:3px 8px;font-size:9pt}
    .pd-title{font-size:20pt;margin:10px 0}
    .pd-lead{font-size:11pt;margin-bottom:12px}
    .pd-note{display:none}

    .pd-tabs-section{border:none;padding:0}

    /* таблицы — с рамками */
    .pd-specs,.pd-content table{border:1px solid #000;font-size:10pt}
    .pd-specs th,.pd-specs td,
    .pd-content th,.pd-content td{border:1px solid #666;padding:6px 10px}
    .pd-specs th,.pd-content th{font-weight:700}

    /* документы — списком с URL */
    .pd-doc{border:1px solid #999;padding:8px 12px;transform:none}
    .pd-doc-ext{border:1px solid #000;min-width:36px;height:28px;font-size:8pt}
    .pd-doc::after{content:" (" attr(href) ")";font-size:8pt;color:#555 !important}

    a{text-decoration:none}
    @page{margin:1.5cm}
}

/* ============================================================
   СТРАНИЦА КОНТАКТОВ
   ============================================================ */

/* ── общие контакты ── */
.ct-org-section{background:var(--ink)}
.ct-org{
    border:1px solid var(--line);border-radius:12px;
    background:var(--ink-2);padding:32px;
}
.ct-org-name{
    font-size:20px;font-weight:800;color:var(--navy);
    margin:0 0 24px;letter-spacing:-.01em;
}
html:not([data-theme="light"]) .ct-org-name{color:var(--paper)}

.ct-org-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:20px 32px;
}
.ct-org-item{display:flex;flex-direction:column;gap:5px}
.ct-org-label{
    font-size:12px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--paper-dim);font-weight:600;
}
.ct-org-value{font-size:16px;color:var(--paper);font-weight:600}
.ct-link{text-decoration:none;color:var(--accent)}
.ct-link:hover{text-decoration:underline}

.ct-org-req{
    margin-top:26px;padding-top:22px;border-top:1px solid var(--line);
    display:flex;flex-direction:column;gap:8px;
}
.ct-org-req-text{
    font-size:14px;color:var(--paper-dim);line-height:1.7;
    font-family:'JetBrains Mono',ui-monospace,monospace;
}

/* ── карточки сотрудников ── */
.ct-staff-section{background:var(--ink-2);border-top:1px solid var(--line)}
.ct-staff-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:18px;
}
.ct-card{
    background:var(--panel);border:1px solid var(--line);border-radius:12px;
    padding:24px;transition:.2s;display:flex;flex-direction:column;gap:10px;
}
.ct-card:hover{
    border-color:color-mix(in srgb,var(--accent) 40%,transparent);
    transform:translateY(-3px);
    box-shadow:var(--card-shadow);
}
.ct-card-position{
    font-size:12px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--accent);font-weight:700;
}
.ct-card-name{
    font-size:17px;font-weight:700;color:var(--paper);letter-spacing:-.01em;
}
.ct-card-lines{display:flex;flex-direction:column;gap:7px;margin-top:2px}
.ct-card-line{
    display:inline-flex;align-items:center;gap:9px;
    color:var(--paper);text-decoration:none;font-size:14.5px;transition:.15s;
}
.ct-card-line svg{color:var(--accent);flex-shrink:0}
.ct-card-line:hover{color:var(--accent)}
.ct-card-note{
    font-size:13.5px;color:var(--paper-dim);line-height:1.6;
    padding-top:10px;margin-top:auto;border-top:1px solid var(--line);
}

@media(max-width:560px){
    .ct-org{padding:22px}
    .ct-staff-grid{grid-template-columns:1fr}
}

/* ============================================================
   ПОДВАЛ: меню в колонках
   ============================================================ */
.foot-desc{color:var(--paper-dim);font-size:13.5px;line-height:1.65;margin-top:14px;max-width:280px}

/* контакты в подвале */
.foot-contacts{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.foot-contact{font-size:14px;line-height:1.55;color:var(--paper-dim);position:relative;min-height:20px}
.foot-contact a{color:var(--paper);text-decoration:none;transition:.15s;word-break:break-word}
.foot-contact a:hover{color:var(--accent)}


.foot-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.foot-menu a{
    color:var(--paper-dim);text-decoration:none;font-size:14px;transition:.15s;
    display:inline-block;
}
.foot-menu a:hover{color:var(--accent);transform:translateX(3px)}

.foot-hint{
    color:var(--paper-dim);font-size:12px;line-height:1.5;
    padding:10px;border:1px dashed var(--line);border-radius:6px;opacity:.7;
}

/* ============================================================
   НАВИГАЦИЯ ПО РАЗДЕЛУ (гибрид: сайдбар + контент)
   ============================================================ */
.page-hero-lead{color:var(--paper-dim);font-size:16px;line-height:1.6;margin-top:14px;max-width:640px}

/* раскладка: сайдбар слева + контент справа */
.section-layout{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:48px;
    align-items:start;
}

/* ── боковое меню раздела ── */
.section-nav{
    position:sticky;top:80px;
    border:1px solid var(--line);border-radius:12px;
    background:var(--ink-2);overflow:hidden;
}
.section-nav-title{
    display:block;padding:18px 22px;
    background:var(--navy);color:#fff;
    font-size:16px;font-weight:700;letter-spacing:-.01em;
    text-decoration:none;transition:.15s;
}
.section-nav-title:hover{background:var(--blue)}

.section-nav-list{list-style:none;margin:0;padding:8px}
.section-nav-list li{margin:0}
.section-nav-list a{
    display:block;padding:12px 16px;border-radius:8px;
    color:var(--paper);text-decoration:none;font-size:14.5px;
    transition:.15s;line-height:1.4;
}
.section-nav-list a:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}
.section-nav-list li.is-active a{
    background:color-mix(in srgb,var(--accent) 12%,transparent);
    color:var(--accent);font-weight:600;
}

/* ── контент подстраницы ── */
.section-content{
    font-size:16px;line-height:1.7;color:var(--paper);
    max-width:820px;
}
.section-content h2{font-size:26px;font-weight:800;margin:32px 0 16px;color:var(--navy);letter-spacing:-.01em}
html:not([data-theme="light"]) .section-content h2{color:var(--paper)}
.section-content h3{font-size:20px;font-weight:700;margin:26px 0 12px}
.section-content p{margin-bottom:16px}
.section-content ul,.section-content ol{margin:0 0 16px 22px}
.section-content li{margin-bottom:8px}
.section-content img{max-width:100%;height:auto;border-radius:10px;margin:16px 0}
.section-content table{width:100%;border-collapse:collapse;margin:20px 0}
.section-content th,.section-content td{border:1px solid var(--line);padding:12px 16px;text-align:left}
.section-content th{background:var(--ink);font-weight:700}

/* адаптив: сайдбар наверх */
@media(max-width:860px){
    .section-layout{grid-template-columns:1fr;gap:24px}
    .section-nav{position:static}
    .section-nav-list{display:flex;flex-wrap:wrap;gap:4px}
    .section-nav-list a{padding:9px 14px;font-size:13.5px}
}

/* ============================================================
   КАРТОЧКА НОВОСТИ (обложка-герой + галерея)
   ============================================================ */

/* обложка с заголовком поверх */
/* тело новости */
.news-body{max-width:880px;font-size:17px;line-height:1.75;color:var(--paper)}
.news-body p{margin-bottom:18px}
.news-body h2{font-size:26px;font-weight:800;margin:36px 0 16px;color:var(--navy);letter-spacing:-.01em}
html:not([data-theme="light"]) .news-body h2{color:var(--paper)}
.news-body h3{font-size:21px;font-weight:700;margin:28px 0 12px}
.news-body img{max-width:100%;height:auto;border-radius:10px;margin:20px 0}
.news-body ul,.news-body ol{margin:0 0 18px 24px}
.news-body li{margin-bottom:8px}
.news-body blockquote{
    border-left:4px solid var(--accent);
    padding:8px 0 8px 24px;margin:24px 0;
    font-size:19px;color:var(--paper-dim);font-style:italic;
}

/* галерея новости */
.news-gallery{max-width:900px;margin:48px auto 0;padding-top:40px;border-top:1px solid var(--line)}
.news-gallery-title{font-size:22px;font-weight:800;margin:0 0 20px;letter-spacing:-.01em}
.news-gallery .kb-gallery-main{
    position:relative;border:1px solid var(--line);border-radius:12px;
    background:var(--ink-2);aspect-ratio:16/10;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
}
.news-gallery .kb-gallery-main img{width:100%;height:100%;object-fit:contain;display:block}

/* навигация между новостями */
.news-nav{
    max-width:820px;margin:48px auto 0;padding-top:24px;
    border-top:1px solid var(--line);
    display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}


/* =========================================================
 * ЧЕРТЁЖНАЯ СЕТКА НА ВСЕХ СТРАНИЦАХ
 * Фон разделов — сетка «как на главной», а текст лежит на
 * сплошной панели: так он читается и не тонет в пустоте.
 * ========================================================= */
.page-hero,.section{position:relative}

/* точки под сверловку — базовый слой, виден и без JS */
.page-hero::before,.section::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:radial-gradient(var(--grid) 1.4px,transparent 1.5px);
    background-size:var(--pcb-grid,44px) var(--pcb-grid,44px);
    background-position:center;
}
.page-hero>*,.section>*{position:relative;z-index:1}

/* слой дорожек рисует theme.js (раздел 7) */
.pcb{
    position:absolute;inset:0;width:100%;height:100%;
    pointer-events:none;z-index:0;
}
.pcb-trace{
    fill:none;stroke:var(--grid);stroke-width:var(--pcb-width,1.5px);
    stroke-linecap:round;stroke-linejoin:round;
}
.pcb-pad{fill:none;stroke:var(--grid);stroke-width:var(--pcb-width,1.5px)}
.pcb-head{
    stroke-linecap:round;opacity:1;
    filter:drop-shadow(0 0 calc(var(--pcb-glow,5px) * 1.7) var(--accent));
}
.pcb-spark{
    fill:none;stroke:var(--accent);stroke-width:calc(var(--pcb-width,1.5px) + .3px);
    stroke-linecap:round;opacity:.85;
    filter:drop-shadow(0 0 var(--pcb-glow,5px) var(--accent));
}
/* на главной у героя своя сетка с подсветкой — вторую не рисуем */
.hero::before{display:none}

/* панель под текстом */
.content-area,.news-body{
    max-width:900px;margin:0 auto 28px;
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);padding:44px 48px;
    box-shadow:var(--card-shadow);
}
.content-area{padding-top:44px}
.content-area>*:first-child,.news-body>*:first-child{margin-top:0}
.content-area>*:last-child,.news-body>*:last-child{margin-bottom:0}

/* =========================================================
 * МЕДИАБЛОК НОВОСТИ (обложка + галерея вверху статьи)
 * ========================================================= */
.news-media{max-width:900px;margin:0 auto 28px}
.news-media .kb-gallery-main{
    position:relative;border:1px solid var(--line);border-radius:var(--radius);
    background:var(--ink-2);aspect-ratio:16/9;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    box-shadow:var(--card-shadow);
}
.news-media .kb-gallery-main img{width:100%;height:100%;object-fit:contain;display:block}
.news-media .kb-gallery-thumbs{justify-content:center}

/* =========================================================
 * ЛОГОТИП: фиксированная коробка, что бы ни загрузили
 * ========================================================= */
/* базовое правило — действует везде, куда бы логотип ни попал */
.brand-logo{
    height:48px;width:auto;max-width:180px;
    object-fit:contain;display:block;flex-shrink:0;
}
.header-main .brand-logo{height:52px;max-width:190px}
.site-footer .brand-logo{height:44px;max-width:170px}

/* страховка на случай вывода через the_custom_logo() */
.brand .custom-logo{
    height:48px;width:auto;max-width:180px;object-fit:contain;
}

/* =========================================================
 * БЛОКИ КОНСТРУКТОРА СТРАНИЦ
 * ========================================================= */
.pb{max-width:900px;margin:0 auto 28px}
.pb-title{font-size:26px;font-weight:800;letter-spacing:-.01em;margin:0 0 20px;color:var(--paper)}

/* — текст — */
.pb--text .pb-text{
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    padding:36px 48px;box-shadow:var(--card-shadow);
}
.pb--text .pb-title{padding:0 4px}
.pb-text p{font-size:16.5px;line-height:1.75;margin:0 0 18px;color:var(--paper)}
.pb-text p:last-child{margin-bottom:0}
.pb-text a{color:var(--accent);text-decoration:underline}
.pb-text ul,.pb-text ol{margin:0 0 18px 24px}
.pb-text li{margin-bottom:8px}

/* — карточки с фото (сертификаты) — */
.pb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px}
.pb-card{
    margin:0;background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);overflow:hidden;transition:.18s;
    display:flex;flex-direction:column;
}
.pb-card:hover{transform:translateY(-3px);box-shadow:var(--card-shadow);border-color:var(--accent)}
.pb-card-img{display:block;background:#fff;aspect-ratio:3/4;overflow:hidden}
.pb-card-img img{width:100%;height:100%;object-fit:contain;display:block;padding:12px;box-sizing:border-box}
.pb-card figcaption{
    padding:14px 16px;font-size:13.5px;line-height:1.45;color:var(--paper);
    border-top:1px solid var(--line);flex:1;text-align:center;
}

/* — хронология (история) — */
.pb-timeline{list-style:none;margin:0;padding:0 0 0 30px;position:relative;counter-reset:none}
.pb-timeline::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line)}
.pb-tl{position:relative;padding:0 0 26px 0;display:grid;grid-template-columns:110px 1fr;gap:22px}
.pb-tl::before{
    content:"";position:absolute;left:-30px;top:6px;width:14px;height:14px;
    border-radius:50%;background:var(--accent);border:3px solid var(--ink);
}
.pb-tl-year{
    font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;
    color:var(--accent);letter-spacing:-.01em;padding-top:2px;
}
.pb-tl-body{
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    padding:20px 24px;
}
.pb-tl-body h3{font-size:18px;font-weight:700;margin:0 0 10px;color:var(--paper)}
.pb-tl-body p{margin:0 0 12px;font-size:15.5px;line-height:1.7;color:var(--paper)}
.pb-tl-body p:last-child{margin-bottom:0}

/* — раскрывающийся список (вакансии, одно окно) — */
.pb-acc{display:flex;flex-direction:column;gap:10px}
.pb-acc-item{
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);overflow:hidden;
}
.pb-acc-item summary{
    cursor:pointer;padding:18px 22px;font-weight:600;font-size:16px;
    color:var(--paper);list-style:none;display:flex;align-items:center;gap:12px;
}
.pb-acc-item summary::-webkit-details-marker{display:none}
.pb-acc-item summary::before{
    content:"+";font-family:'JetBrains Mono',monospace;font-size:18px;
    color:var(--accent);flex-shrink:0;width:18px;
}
.pb-acc-item[open] summary::before{content:"−"}
.pb-acc-item[open] summary{border-bottom:1px solid var(--line)}
.pb-acc-item summary:hover{background:var(--ink-2)}
.pb-acc-body{padding:18px 22px 20px 52px}
.pb-acc-body p{margin:0 0 12px;font-size:15.5px;line-height:1.7;color:var(--paper)}
.pb-acc-body p:last-child{margin-bottom:0}

/* — документы — */
.pb-docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pb-doc a{
    display:flex;align-items:center;gap:16px;text-decoration:none;
    background:var(--panel);border:1px solid var(--line);border-radius:10px;
    padding:14px 18px;transition:.16s;
}
.pb-doc a:hover{border-color:var(--accent);transform:translateX(3px)}
.pb-doc-ext{
    font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;
    color:#fff;background:var(--accent);border-radius:5px;
    padding:5px 8px;min-width:48px;text-align:center;flex-shrink:0;
}
.pb-doc-name{flex:1;color:var(--paper);font-size:15px}
.pb-doc-size{color:var(--paper-dim);font-size:13px;font-family:'JetBrains Mono',monospace}

/* — плитки (направления, услуги) — */
.pb-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pb-feat-item{
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    padding:26px 24px;transition:.18s;
}
.pb-feat-item:hover{border-color:var(--accent);box-shadow:var(--card-shadow)}

/* кликабельная плитка */
.pb-feat-item--link{
    display:block;text-decoration:none;color:inherit;
    position:relative;padding-bottom:46px;   /* место под стрелку */
}
.pb-feat-item--link:hover{transform:translateY(-2px)}
.pb-feat-go{
    position:absolute;left:24px;bottom:22px;
    font-size:18px;line-height:1;color:var(--accent);
    opacity:.75;transition:.18s;
}
.pb-feat-item--link:hover .pb-feat-go{opacity:1;transform:translateX(4px)}

@media(prefers-reduced-motion:reduce){
    .pb-feat-item--link:hover{transform:none}
    .pb-feat-item--link:hover .pb-feat-go{transform:none}
}
.pb-feat-item h3{font-size:17px;font-weight:700;margin:0 0 10px;color:var(--paper)}
.pb-feat-item p{margin:0 0 10px;font-size:15px;line-height:1.65;color:var(--paper-dim)}
.pb-feat-item p:last-child{margin-bottom:0}

/* адаптив */
@media(max-width:1000px){
    .pb-cards{grid-template-columns:repeat(3,1fr)}
    .pb-feat{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
    .content-area,.news-body,.pb--text .pb-text{padding:28px 22px}
    .pb-cards{grid-template-columns:repeat(2,1fr)}
    .pb-feat{grid-template-columns:1fr}
    .pb-tl{grid-template-columns:1fr;gap:8px}
    .pb-timeline{padding-left:24px}
    .pb-tl::before{left:-24px}
    .news-media .kb-gallery-main{aspect-ratio:4/3}
}

/* режим для слабовидящих — декоративную сетку убираем */
body.vi .page-hero::before,body.vi .section::before,
body.vi .pcb{display:none!important}

/* если система просит меньше движения — дорожки остаются, огоньки гаснут */
@media(prefers-reduced-motion:reduce){
    .pcb-spark{display:none}
}


/* =========================================================
 * ПАНЕЛЬ НАСТРОЙКИ ПЛАТЫ (только для администратора)
 * ========================================================= */
.pcb-tuner{position:fixed;right:18px;bottom:18px;z-index:9998;font-size:13px}
.pcb-tuner-toggle{
    display:flex;align-items:center;gap:8px;margin-left:auto;
    background:var(--panel);color:var(--paper);
    border:1px solid var(--line);border-radius:999px;
    padding:9px 16px;cursor:pointer;font-family:inherit;font-size:13px;
    box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.pcb-tuner-dot{
    width:8px;height:8px;border-radius:50%;background:var(--accent);
    box-shadow:0 0 8px var(--accent);flex-shrink:0;
}
.pcb-tuner-body{
    display:none;width:280px;margin-top:10px;
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);padding:16px 18px;
    box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.pcb-tuner.is-open .pcb-tuner-body{display:block}
.pcb-tuner-row{display:grid;grid-template-columns:1fr auto;gap:4px 8px;margin-bottom:12px}
.pcb-tuner-label{color:var(--paper-dim);font-size:12.5px}
.pcb-tuner-val{
    font-family:'JetBrains Mono',monospace;font-size:12.5px;
    color:var(--accent);white-space:nowrap;
}
.pcb-tuner-row input[type="range"]{grid-column:1/-1;width:100%;accent-color:var(--accent);margin:0}
.pcb-tuner-actions{display:flex;align-items:center;gap:8px;padding-top:4px}
.pcb-tuner-btn{
    background:var(--accent);color:#fff;border:0;border-radius:7px;
    padding:7px 14px;cursor:pointer;font-family:inherit;font-size:13px;
}
.pcb-tuner-btn--ghost{background:transparent;color:var(--paper-dim);border:1px solid var(--line)}
.pcb-tuner-status{font-size:12px;color:var(--accent)}
.pcb-tuner-status.is-error{color:#c0392b}
.pcb-tuner-note{margin:12px 0 0;font-size:11.5px;line-height:1.5;color:var(--paper-dim)}

@media(max-width:640px){
    .pcb-tuner{right:10px;bottom:10px}
    .pcb-tuner-body{width:calc(100vw - 40px)}
}


/* =========================================================
 * ГЕРОЙ ГЛАВНОЙ: экран вровень с заголовком, кнопки под экраном
 * ---------------------------------------------------------
 * Сетка на три строки. Экран стоит в той же строке, что и заголовок,
 * и растянут по ней (align-self:stretch) — поэтому его верх и низ
 * совпадают с текстом заголовка при любой его длине, без подгонки
 * высоты руками. Кнопки в третьей строке правой колонки — сразу
 * под экраном.
 * ========================================================= */
.hero .wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(380px,520px);
    column-gap:80px;row-gap:0;
    align-items:start;
}
.hero-eyebrow{grid-column:1;grid-row:1;align-self:end}
.hero .hero-title{grid-column:1;grid-row:2}
.hero .hero-lead{grid-column:1;grid-row:3}

/* Правый столбец — единый контейнер: видео и кнопки идут flex-колонкой,
   поэтому зазор между ними фиксирован (gap) и НЕ зависит от длины
   заголовка слева на любом языке. */
.hero-right{
    grid-column:2;grid-row:1 / 4;
    align-self:start;
    display:flex;flex-direction:column;
    gap:24px;                     /* постоянный зазор видео ↔ кнопки */
}
.hero-visual{
    aspect-ratio:4/3;width:100%;margin:0;min-height:0;flex:0 0 auto;
}
.hero-actions{margin:0}

/* содержимое экрана: видео или картинка вместо макета */
.screen-media{
    position:absolute;inset:0;z-index:1;
    width:100%;height:100%;
    object-fit:cover;display:block;
    background:#0a0e22;
}

@media(max-width:980px){
    /* одна колонка: сетка сбрасывается, правый блок встаёт под текст */
    .hero .wrap{grid-template-columns:1fr;row-gap:0}
    .hero-eyebrow,.hero .hero-title,.hero .hero-lead{grid-column:1;grid-row:auto}
    .hero-right{grid-column:1;grid-row:auto;margin-top:8px;gap:22px}

    .hero-visual{
        aspect-ratio:4/3;
        min-height:0;
        max-width:440px;
        margin:0;
    }

    /* кнопки в колонку и одинаковой ширины — ровный левый край */
    .hero-actions{flex-direction:column;align-items:stretch;gap:12px}
    .hero-actions .btn{width:100%;justify-content:center}
}


/* =========================================================
 * КАРТИНКИ ВНУТРИ ТЕКСТОВОГО БЛОКА
 * ========================================================= */
.pb-text img,.content-area img,.news-body img{
    max-width:100%;height:auto;
    border-radius:var(--radius);
    display:block;margin:24px 0;
}

/* обтекание текстом */
.pb-text img.alignleft,.content-area img.alignleft,.news-body img.alignleft{
    float:left;margin:6px 28px 18px 0;max-width:min(50%,340px);
}
.pb-text img.alignright,.content-area img.alignright,.news-body img.alignright{
    float:right;margin:6px 0 18px 28px;max-width:min(50%,340px);
}
.pb-text img.aligncenter,.content-area img.aligncenter,.news-body img.aligncenter{
    margin-left:auto;margin-right:auto;
}

/* абзац не должен налезать на плавающую картинку */
.pb-text::after,.content-area::after,.news-body::after{content:"";display:table;clear:both}

@media(max-width:640px){
    /* на телефоне обтекание только мешает — картинка на всю ширину */
    .pb-text img.alignleft,.pb-text img.alignright,
    .content-area img.alignleft,.content-area img.alignright,
    .news-body img.alignleft,.news-body img.alignright{
        float:none;max-width:100%;margin:20px 0;
    }
}


/* таблицы и цитаты внутри текстовых блоков */
.pb-text table,.content-area table,.news-body table{
    width:100%;border-collapse:collapse;margin:24px 0;font-size:15px;
}
.pb-text th,.content-area th,.news-body th{
    text-align:left;font-weight:700;background:var(--ink-2);
    padding:11px 14px;border:1px solid var(--line);
}
.pb-text td,.content-area td,.news-body td{padding:11px 14px;border:1px solid var(--line)}
.pb-text blockquote,.content-area blockquote,.news-body blockquote{
    margin:24px 0;padding:14px 22px;
    border-left:3px solid var(--accent);
    color:var(--paper-dim);font-style:italic;
}
.pb-text hr,.content-area hr,.news-body hr{
    border:0;border-top:1px solid var(--line);margin:32px 0;
}


/* =========================================================
 * ПОЯВЛЕНИЕ БЛОКОВ ПРИ ПРОКРУТКЕ
 * Класс вешает theme.js (раздел 10) и только на то, что ниже экрана,
 * поэтому без JS содержимое видно всегда.
 * ========================================================= */
.dkb-rise{
    opacity:0;transform:translateY(18px);
    transition:opacity .55s cubic-bezier(.2,.7,.3,1),
               transform .55s cubic-bezier(.2,.7,.3,1);
}
.dkb-rise.is-in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
    .dkb-rise{opacity:1;transform:none;transition:none}
    .svc:hover{transform:none}
}


/* =========================================================
 * СТРАНИЦА 404
 * ========================================================= */
.error-404{text-align:center;padding-top:96px;min-height:56vh}
.e404-code{font-family:'JetBrains Mono',monospace;font-size:104px;font-weight:800;line-height:1;color:var(--accent);letter-spacing:.04em}
.e404-title{font-size:32px;margin:14px 0 12px}
.e404-text{color:var(--paper-dim);max-width:480px;margin:0 auto 26px;line-height:1.6}
.e404-search{max-width:420px;margin:0 auto 30px}
.e404-links{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;align-items:center;margin:0 auto 30px;max-width:640px}
.e404-links-label{color:var(--paper-dim);font-size:14px}
.e404-links a{color:var(--paper);text-decoration:none;font-weight:600;font-size:14.5px;transition:.16s}
.e404-links a span{color:var(--accent)}
.e404-links a:hover{color:var(--accent)}
.e404-home{margin-top:4px}

/* =========================================================
 * ФОРМА ЗАПРОСА КП
 * ========================================================= */
.wrap-narrow{max-width:920px}
.quote-form-wrap{margin-top:8px}
.quote-form{
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);padding:30px;
    display:flex;flex-direction:column;gap:18px;
}
.quote-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quote-form label{display:flex;flex-direction:column;gap:7px;font-size:14px}
.quote-form label > span{color:var(--paper-dim)}
.quote-form label b{color:var(--accent)}
.quote-form input,.quote-form textarea{
    background:var(--ink-2);border:1px solid var(--line);border-radius:8px;
    padding:12px 14px;color:var(--paper);font-family:inherit;font-size:15px;
    transition:.16s;
}
.quote-form input:focus,.quote-form textarea:focus{
    outline:none;border-color:var(--accent);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);
}
.quote-form textarea{resize:vertical;min-height:120px}
.quote-consent{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-size:14px;color:var(--paper-dim)}
.quote-consent input{width:18px;height:18px;flex-shrink:0;margin-top:1px}
.quote-form .btn{align-self:flex-start}

/* honeypot: убран из потока и от глаз, но доступен ботам в DOM */
.dkb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* сообщения после отправки */
.quote-note{padding:14px 18px;border-radius:9px;margin-bottom:20px;font-size:15px}
.quote-note--ok{background:color-mix(in srgb,#1a8f4c 16%,transparent);border:1px solid #1a8f4c;color:#7ee0a3}
.quote-note--err{background:color-mix(in srgb,#c0392b 14%,transparent);border:1px solid #c0392b;color:#f0a79e}

@media(max-width:640px){
    .quote-row{grid-template-columns:1fr}
    .quote-form{padding:22px}
    .e404-code{font-size:76px}
}


/* =========================================================
 * ЛЕНТА НОВОСТЕЙ С ФИЛЬТРОМ ПО ГОДАМ
 * ========================================================= */
.news-layout{display:grid;grid-template-columns:150px 1fr;gap:40px;align-items:start}

.news-years{position:sticky;top:96px}
.news-years-title{
    display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;
    color:var(--paper-dim);margin-bottom:12px;font-weight:600;
}
.news-years ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.news-years a{
    display:block;padding:7px 12px;border-radius:7px;
    color:var(--paper);text-decoration:none;font-size:16px;font-weight:600;
    transition:.15s;border-left:2px solid transparent;
}
.news-years a:hover{background:var(--ink-2);color:var(--accent)}
.news-years a.is-active{color:var(--accent);background:var(--ink-2);border-left-color:var(--accent)}

.news-empty{color:var(--paper-dim);font-size:16px}
.news-empty a{color:var(--accent)}

@media(max-width:820px){
    /* на телефоне фильтр — горизонтальная лента над новостями */
    .news-layout{grid-template-columns:1fr;gap:24px}
    .news-years{position:static}
    .news-years ul{flex-direction:row;flex-wrap:wrap;gap:8px}
    .news-years a{padding:6px 14px;background:var(--ink-2)}
    .news-years-title{margin-bottom:8px}
}


/* =========================================================
 * ФИРМЕННЫЕ БЛОКИ ИЗ РЕДАКТОРА GUTENBERG (dkb/*)
 * Внутри «Карточек с фото» лежат обычные блоки «Изображение» —
 * одеваем их в вид .pb-card, включая наведение и подписи.
 * ========================================================= */
/* совместимость: карточки, собранные из обычных «Изображений», —
   ровняем под фирменную .pb-card: одинаковая высота 3:4, скан целиком */
.pb-cards > .wp-block-image{
    display:flex;flex-direction:column;margin:0;
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);overflow:hidden;transition:.18s;
}
.pb-cards > .wp-block-image:hover{transform:translateY(-3px);box-shadow:var(--card-shadow);border-color:var(--accent)}
.pb-cards > .wp-block-image a{display:block}
.pb-cards > .wp-block-image img{
    width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;display:block;
    background:#fff;padding:12px;box-sizing:border-box;
}
.pb-cards > .wp-block-image figcaption{
    margin:auto 0 0;padding:12px 14px;font-size:13.5px;line-height:1.45;
    color:var(--paper);text-align:center;border-top:1px solid var(--line);
}

/* текст внутри плитки из нового блока */
.pb-feat-item .pb-feat-txt p{margin:0 0 10px;font-size:15px;line-height:1.65;color:var(--paper-dim)}
.pb-feat-item .pb-feat-txt p:last-child{margin-bottom:0}

/* текст события хронологии из нового блока */
.pb-tl-txt p{margin:0 0 12px;font-size:15.5px;line-height:1.7;color:var(--paper)}
.pb-tl-txt p:last-child{margin-bottom:0}

@media(max-width:900px){
    .pb-cards{grid-template-columns:repeat(2,1fr)}
    .pb-cards > .wp-block-image{max-width:none}
}
@media(max-width:560px){
    .pb-cards{grid-template-columns:1fr}
}


/* широкую таблицу на телефоне прокручиваем, а не сдавливаем */
@media(max-width:760px){
    .content-area table,.pb-text table,.news-body table{
        display:block;overflow-x:auto;min-width:0;
    }
    .content-area table th,.content-area table td{min-width:140px}
}

/* =========================================================
 * ФИЛЬТР КАТАЛОГА (страница категории изделий)
 * ========================================================= */
.cat-layout{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start}
.cat-layout--nofilter{grid-template-columns:1fr}

.cat-filter{
    position:sticky;top:96px;
    background:var(--panel);border:1px solid var(--line);
    border-radius:var(--radius);padding:8px 18px 18px;
}
.cf-group{border-bottom:1px solid var(--line);padding:12px 0}
.cf-group:last-of-type{border-bottom:0}
.cf-group summary{
    cursor:pointer;list-style:none;position:relative;
    font-weight:700;font-size:14px;color:var(--paper);padding-right:20px;
}
.cf-group summary::-webkit-details-marker{display:none}
.cf-group summary::after{
    content:"▾";position:absolute;right:0;top:0;
    color:var(--paper-dim);transition:transform .18s;
}
.cf-group[open] summary::after{transform:rotate(180deg)}
.cf-list{display:flex;flex-direction:column;gap:2px;margin-top:10px}
.cf-list label{
    display:flex;align-items:center;gap:9px;
    font-size:14px;color:var(--paper-dim);cursor:pointer;
    padding:4px 6px;border-radius:6px;transition:.14s;
}
.cf-list label:hover{background:var(--ink-2);color:var(--paper)}
.cf-list input[type="checkbox"]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}
.cf-count{margin-left:auto;font-size:12px;font-weight:400;color:var(--paper-dim);opacity:.75}
.cf-actions{display:flex;align-items:center;gap:14px;padding-top:16px}
.cf-apply{padding:10px 18px;font-size:14px}
.cf-reset{color:var(--paper-dim);font-size:14px;text-decoration:none}
.cf-reset:hover{color:var(--accent)}

.cat-found{margin:0 0 18px;font-size:14.5px;color:var(--paper-dim)}
.cat-found a{color:var(--accent)}
.cat-empty{text-align:center;color:var(--paper-dim);padding:32px 0}
.cat-empty a{color:var(--accent)}

@media(max-width:900px){
    .cat-layout{grid-template-columns:1fr;gap:24px}
    .cat-filter{position:static}
}


/* заметка для редакторов: почему фильтр каталога скрыт */
.cat-admin-note{
    border:1px dashed var(--accent);border-radius:var(--radius);
    padding:14px 18px;margin-bottom:18px;
    font-size:14px;color:var(--paper-dim);line-height:1.6;
}
.cat-admin-note strong{color:var(--paper)}
.cat-admin-note ul{margin:8px 0;padding-left:20px}
.cat-admin-note li{margin:2px 0}


/* каталог: плитки подкатегорий над списком изделий и кнопка «Все изделия» */
.cat-subcats{margin-bottom:38px}
.cat-all-link{margin-top:20px;display:inline-flex}


/* миниатюры галереи новости стоят НАД основным кадром:
   порядок переворачивается флексом, разметка не меняется */
.news-media .kb-gallery{display:flex;flex-direction:column}
.news-media .kb-gallery-thumbs{order:-1;margin:0 0 14px}


/* разделители между пунктами главного меню */
.site-nav ul:not(.sub-menu) > li + li{border-left:1px solid rgba(255,255,255,.14)}
@media(max-width:900px){
    /* в мобильной колонке разделитель горизонтальный */
    .site-nav ul:not(.sub-menu) > li + li{border-left:0;border-top:1px solid rgba(255,255,255,.12)}
}


/* PT Serif — официальные вставки и цитаты (брендбук: деловая документация) */
.content-area blockquote,.pb-text blockquote,.news-body blockquote,.pt-serif{
    font-family:'PT Serif',Georgia,serif;
}

/* форма КП на карточке изделия и обратная связь на контактах */
.pd-quote{border-top:1px solid var(--line)}
.pd-quote-title{font-size:26px;margin:6px 0 22px}
.quote-product{font-size:15px;color:var(--paper-dim);margin:0}
.quote-product b{color:var(--paper)}


/* =========================================================
 * ВКЛАДКИ КАТЕГОРИЙ КАТАЛОГА
 * ========================================================= */
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;padding-top:8px}
.cat-tab{
    display:inline-flex;align-items:center;gap:8px;
    padding:11px 20px;border-radius:999px;
    background:var(--panel);border:1px solid var(--line);
    color:var(--paper);text-decoration:none;font-weight:600;font-size:15px;
    transition:.16s;
}
.cat-tab:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.cat-tab-count{font-size:12px;font-weight:400;color:var(--paper-dim);opacity:.8}
/* активная вкладка/подкатегория — залитая пилюля */
.cat-tab.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.cat-tab.is-active:hover{color:#fff;transform:none}
.cat-tab.is-active .cat-tab-count{color:#fff;opacity:.75}

/* =========================================================
 * ВЫБОР ТИПА (подкатегории) — компактные мини-карточки.
 * До ~9 в ряд на десктопе; при нехватке места естественно
 * переходит к ~5, затем к 3/2 на планшете/телефоне.
 * ========================================================= */
.subcat-cards{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(128px,1fr));
    gap:10px;margin-bottom:30px;
}
.subcat-card{
    display:flex;flex-direction:column;gap:8px;min-height:118px;
    padding:14px;border:1px solid var(--line);border-radius:12px;
    background:var(--panel);color:var(--paper);text-decoration:none;
    transition:border-color .16s,transform .16s,box-shadow .16s;
}
.subcat-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--card-shadow)}
.subcat-card.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}
.subcat-ico{
    width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;
    background:color-mix(in srgb,var(--accent) 12%,transparent);
    border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);
    overflow:hidden;
}
.subcat-ico svg{width:18px;height:18px;stroke:var(--accent)}
.subcat-ico img{width:100%;height:100%;object-fit:cover}
/* длинные названия переносятся по словам и, если нужно, внутри слова —
   ничего не вылезает за границы карточки */
.subcat-card h3{
    font-size:13.5px;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin:0;color:var(--paper);
    overflow-wrap:break-word;word-break:break-word;hyphens:auto;
}
.subcat-card.is-active h3{color:var(--accent)}
.subcat-count{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent);display:flex;align-items:center;gap:6px;margin-top:auto;white-space:nowrap}
.subcat-count::before{content:"→"}
/* карточка «назад» — приглушённая, пунктирная рамка, стрелка влево */
.subcat-back{border-style:dashed}
.subcat-back .subcat-ico{background:color-mix(in srgb,var(--paper-dim) 14%,transparent);border-color:color-mix(in srgb,var(--paper-dim) 28%,transparent)}
.subcat-back .subcat-ico svg{stroke:var(--paper-dim)}
.subcat-back h3{color:var(--paper-dim)}
.subcat-back:hover{border-color:var(--accent);border-style:solid}
.subcat-back:hover .subcat-ico svg,.subcat-back:hover h3{stroke:var(--accent);color:var(--accent)}
/* режим для слабовидящих без картинок — иконку прячем */
body.vi.hide-img .subcat-ico{display:none}
@media(max-width:760px){ .subcat-cards{grid-template-columns:repeat(3,1fr)} }
@media(max-width:460px){ .subcat-cards{grid-template-columns:repeat(2,1fr)} }

/* =========================================================
 * СПИСОК ТОВАРОВ (вертикальные строки, вид «как маркетплейс»)
 * Слева фото, справа название + характеристики списком.
 * ========================================================= */
.cat-list{display:flex;flex-direction:column;gap:14px}
.prod-row{
    display:flex;gap:24px;align-items:flex-start;
    padding:22px;border:1px solid var(--line);border-radius:14px;
    background:var(--panel);color:var(--paper);text-decoration:none;
    transition:border-color .18s,box-shadow .18s,transform .18s;
}
.prod-row:hover{border-color:var(--accent);box-shadow:var(--card-shadow);transform:translateY(-1px)}
.prod-row-img{
    flex:0 0 180px;width:180px;height:140px;border-radius:10px;
    background:var(--ink-2);border:1px solid var(--line);
    display:grid;place-items:center;overflow:hidden;
}
.prod-row-img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.prod-row-img svg{width:46px;height:46px;stroke:var(--accent);opacity:.45}
.prod-row-body{flex:1;min-width:0}
.prod-row-title{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:0 0 14px;color:var(--paper);transition:color .16s}
.prod-row:hover .prod-row-title{color:var(--accent)}
.prod-specs{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}
.prod-specs li{position:relative;padding-left:16px;font-size:14.5px;line-height:1.5;color:var(--paper)}
.prod-specs li::before{content:"";position:absolute;left:2px;top:9px;width:4px;height:4px;border-radius:50%;background:var(--accent)}
.prod-specs .ps-name{color:var(--paper-dim)}
.prod-specs .ps-val{color:var(--paper)}
.prod-row-more{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--accent);display:inline-flex;align-items:center;gap:7px}
.prod-row-more::after{content:"→"}
/* режим для слабовидящих без картинок — прячем фото-колонку целиком */
body.vi.hide-img .prod-row-img{display:none!important}
@media(max-width:640px){
    .prod-row{flex-direction:column;gap:14px}
    .prod-row-img{flex-basis:auto;width:100%;height:180px}
}

/* =========================================================
 * ПОЛЗУНОК ДИАПАЗОНА В ФИЛЬТРЕ
 * Две ручки на общей дорожке. min-ползунок лежит поверх и ловит
 * мышь только левее max-ручки — стандартный приём «dual range».
 * ========================================================= */
.cf-range{margin-top:12px}
.cf-range-vals{display:flex;justify-content:space-between;font-size:13.5px;color:var(--paper);margin-bottom:10px}
.cf-range-vals .cf-range-from{color:var(--accent);font-weight:600}
.cf-range-vals .cf-range-to{color:var(--accent);font-weight:600}

.cf-range-track{position:relative;height:24px}
.cf-range-track input[type="range"]{
    position:absolute;top:0;left:0;width:100%;margin:0;height:24px;
    -webkit-appearance:none;appearance:none;background:transparent;pointer-events:none;
}
/* дорожка рисуется псевдоэлементом, чтобы обе ручки были над ней */
.cf-range-track::before{
    content:"";position:absolute;left:0;right:0;top:11px;height:3px;
    background:var(--line);border-radius:2px;
}
.cf-range-track input::-webkit-slider-thumb{
    -webkit-appearance:none;appearance:none;pointer-events:auto;
    width:18px;height:18px;border-radius:50%;
    background:var(--accent);border:2px solid var(--ink);cursor:pointer;
}
.cf-range-track input::-moz-range-thumb{
    pointer-events:auto;width:18px;height:18px;border-radius:50%;
    background:var(--accent);border:2px solid var(--ink);cursor:pointer;
}
.cf-range-track input::-moz-range-track{background:transparent}

@media(max-width:900px){
    .cat-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}
    .cat-tab{white-space:nowrap}
}



/* топбар на английском/китайском (текст длиннее): не даём развалиться */
.topbar-links .menu-item-gtranslate{flex:0 0 auto;white-space:nowrap}
.topbar-links .menu-item-gtranslate img{flex-shrink:0}
.topbar-a11y{flex:0 0 auto;white-space:nowrap}

/* на средних экранах прячем адрес — он есть в подвале и на «Контактах» —
   чтобы освободить строку под госпорталы, доступность и языки */
@media(max-width:1100px){
    .topbar-address{display:none}
}
/* на узких — правая группа занимает всю ширину и распределяется */
@media(max-width:760px){
    .topbar-right{justify-content:space-between;width:100%}
}

/* =========================================================
 * GTranslate — ВСЕ ФЛАГИ В РЯД (режим плагина «Флаги»)
 * Разметка (инспектор): li.menu-item-gtranslate в ul.topbar-links;
 * текущий язык — a.gt-current-wrapper, остальные — в ul.sub-menu.
 * Разворачиваем sub-menu в горизонтальный ряд и показываем ВСЕГДА,
 * рядом с текущим флагом. Никакого «наведи-и-пропало».
 * ========================================================= */

/* Флаги стоят ПРАВЕЕ переключателя темы естественным порядком:
   пункт флагов — последний в ul.topbar-links, а сам ul идёт в topbar-right
   после «Слабовидящим» и темы. Никаких display:contents — он растворял
   контейнер и валил всю строку топбара в перенос. Просто держим порядок
   элементов в разметке: госпорталы → Слабовидящим → тема → topbar-links(флаги). */
/* правая группа: госпорталы могут перенестись, но доступность+тема+флаги
   держатся вместе и не сжимаются; перенос разрешён, разваливания нет */
.topbar-right{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;justify-content:flex-end;order:2}
.topbar-links{display:flex;align-items:center;gap:14px;margin:0;padding:0;list-style:none;order:3;flex-wrap:wrap}
.topbar-a11y{order:1;flex:0 0 auto;white-space:nowrap}
.theme-toggle,#themeToggle{order:2;flex:0 0 auto}
.topbar-links .menu-item-gtranslate{flex:0 0 auto}
.topbar-links .menu-item-gtranslate img{flex-shrink:0}

/* длинный перевод (EN/中文) — прячем то, что есть в подвале, освобождая строку */
@media(max-width:1150px){ .topbar-address{display:none} }
@media(max-width:820px){ .topbar-links > li:not(.menu-item-gtranslate){display:none} }
.topbar-links .menu-item-gtranslate{
    display:inline-flex;align-items:center;gap:6px;margin-left:4px;flex:0 0 auto;
}

/* текущий флаг */
.topbar-links .menu-item-gtranslate > a{
    display:inline-flex;align-items:center;padding:0;opacity:1;
}

/* подменю с остальными языками — РАЗВёРНУТО в ряд и всегда видно */
.topbar-links .menu-item-gtranslate .sub-menu{
    position:static!important;display:inline-flex!important;
    flex-direction:row!important;align-items:center;gap:6px;
    margin:0!important;padding:0!important;list-style:none!important;
    background:none!important;border:0!important;box-shadow:none!important;
    min-width:0!important;
}
.topbar-links .menu-item-gtranslate .sub-menu li{margin:0!important;padding:0!important}
.topbar-links .menu-item-gtranslate .sub-menu li::marker{content:none}

/* все флажки одного размера, приглушены; активный/наведённый — ярче */
.topbar-links .menu-item-gtranslate a{line-height:0}
.topbar-links .menu-item-gtranslate img{
    width:26px;height:18px;object-fit:cover;display:block;
    border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.25);
    opacity:.55;transition:.15s;cursor:pointer;
}
.topbar-links .menu-item-gtranslate img:hover{opacity:1;box-shadow:0 0 0 1px var(--accent)}
.topbar-links .menu-item-gtranslate > a img{opacity:1;box-shadow:0 0 0 2px var(--accent)} /* текущий язык */

/* дубль: текущий язык показан и кнопкой, и пунктом списка — прячем в списке */
.topbar-links .menu-item-gtranslate .sub-menu .gt-current-lang,
.topbar-links .menu-item-gtranslate .sub-menu a.gt-current-lang{display:none!important}

/* =========================================================
 * КНОПКА «ЧИТАТЬ» В КАРТОЧКЕ НОВОСТИ
 * ========================================================= */
.post-more{
    display:inline-block;margin-top:12px;
    color:var(--accent);font-weight:600;font-size:14px;transition:.15s;
}
.post-card:hover .post-more{transform:translateX(4px)}

/* =========================================================
 * ПАРТНЁРЫ (лента логотипов перед подвалом)
 * ========================================================= */
.partners{padding:56px 0;border-top:1px solid var(--line)}
.partners-title{text-align:center;font-size:24px;margin:0 0 32px;color:var(--paper)}
.partners-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
    gap:20px 28px;align-items:stretch;
}
/* логотип слева, подпись справа — раскладка «как у госпорталов» */
.partner{
    display:flex;flex-direction:row;align-items:center;gap:16px;
    padding:6px;background:transparent;border:0;border-radius:10px;
    text-decoration:none;transition:.15s;
}
a.partner:hover{transform:translateX(2px)}
a.partner:hover .partner-label{color:var(--accent)}
/* светлая плашка ТОЛЬКО под логотипом, компактная */
.partner-logo{
    flex:0 0 auto;width:72px;height:72px;object-fit:contain;
    background:#f4f6f8;border:1px solid var(--line);border-radius:10px;
    padding:10px;box-sizing:border-box;
}
.partner-label{
    font-size:14px;line-height:1.35;text-align:left;color:var(--paper);
    font-weight:500;
}
.partners-hint{color:var(--paper-dim);text-align:center;padding:20px;border:1px dashed var(--line);border-radius:var(--radius)}

/* =========================================================
 * ВАКАНСИИ (стиль rabota.by)
 * ========================================================= */
.vacancy-card{
    background:var(--panel);border:1px solid var(--line);border-radius:16px;
    padding:32px;margin-bottom:24px;
}
.vacancy-title{font-size:30px;line-height:1.15;margin:0 0 14px;color:var(--paper)}
.vacancy-salary{font-size:20px;font-weight:700;color:var(--paper);margin:0 0 22px}
.vacancy-salary-note{font-size:14px;font-weight:400;color:var(--paper-dim);margin-left:6px}
.vacancy-params{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}
.vacancy-params li{font-size:15px;color:var(--paper)}
.vacancy-params span{color:var(--paper-dim)}
.vacancy-params b{font-weight:600}
.vacancy-actions .btn{min-width:200px;justify-content:center}
.vacancy-body{
    background:var(--panel);border:1px solid var(--line);border-radius:16px;
    padding:32px;margin-bottom:24px;max-width:none;
}
@media(max-width:560px){.vacancy-body{padding:22px}}
.vacancy-body p{margin:0 0 10px}
.vacancy-body ul,.vacancy-body ol{margin:10px 0 16px}
.vacancy-body li{margin:4px 0}
.vacancy-body h2,.vacancy-body h3,.vacancy-body strong:first-child{margin-top:20px}
.vacancy-apply{
    background:var(--panel);border:1px solid var(--line);border-radius:16px;
    padding:32px;margin-top:24px;
}

/* список вакансий */
.vacancy-intro{
    background:var(--panel);border:1px solid var(--line);border-radius:14px;
    padding:24px 28px;margin-bottom:24px;max-width:none;
}
.vacancy-intro p{margin:0 0 10px}
.vacancy-intro p:last-child{margin-bottom:0}
.vacancy-intro h1,.vacancy-intro h2{font-size:22px;margin:18px 0 12px;color:var(--paper)}
.vacancy-intro h1:first-child,.vacancy-intro h2:first-child{margin-top:0}
.vacancy-intro a{color:var(--accent)}
.vacancy-list{display:flex;flex-direction:column;gap:16px}
.vacancy-preview{
    display:block;background:var(--panel);border:1px solid var(--line);
    border-radius:14px;padding:24px 28px;text-decoration:none;transition:.18s;
}
.vacancy-preview:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--card-shadow)}
.vacancy-preview h2{font-size:20px;margin:0 0 8px;color:var(--paper)}
.vacancy-preview-salary{display:block;font-weight:700;color:var(--paper);margin-bottom:6px}
.vacancy-preview-meta{display:block;font-size:14px;color:var(--paper-dim);margin-bottom:12px}
.vacancy-preview-more{color:var(--accent);font-weight:600;font-size:14px}

@media(max-width:560px){
    .vacancy-card,.vacancy-apply{padding:22px}
    .vacancy-title{font-size:24px}
}

/* =========================================================
 * ВЫРАВНИВАНИЕ ТЕКСТА ПО ШИРИНЕ (justify из редактора)
 * ========================================================= */
.has-text-align-justify{text-align:justify;text-justify:inter-word}


/* =========================================================
 * БАННЕР COOKIE
 * ========================================================= */
.cookie-banner{
    position:fixed;left:16px;right:16px;bottom:16px;z-index:200;
    background:var(--panel);border:1px solid var(--line);
    border-radius:14px;box-shadow:0 20px 50px -12px rgba(0,0,0,.5);
    opacity:0;transform:translateY(16px);transition:opacity .3s,transform .3s;
    max-width:920px;margin:0 auto;
}
.cookie-banner.is-visible{opacity:1;transform:translateY(0)}
.cookie-inner{
    display:flex;align-items:center;gap:20px;
    padding:18px 22px;flex-wrap:wrap;
}
.cookie-text{
    margin:0;flex:1 1 320px;
    font-size:14px;line-height:1.55;color:var(--paper-dim);
}
.cookie-text a{color:var(--accent);text-decoration:underline;white-space:nowrap}
.cookie-accept{flex:0 0 auto;min-width:140px;justify-content:center}

@media(max-width:560px){
    .cookie-banner{left:10px;right:10px;bottom:10px}
    .cookie-inner{padding:16px;gap:14px}
    .cookie-accept{width:100%}
}
