/* ==========================================================================
   Стили сайта. Светлая тема. Одна точка входа — легко заменить целиком.
   ========================================================================== */

:root{
    --bg:#ffffff;
    --bg-soft:#f7f9fc;
    --panel:#ffffff;
    --panel-alt:#f2f6fa;
    --line:#e3e9f0;
    --line-soft:#eef2f7;
    --ink:#16202c;
    --ink-dim:#3b4c60;
    --muted:#6b7c90;
    --acc:#0b6bcb;
    --acc-soft:#e8f1fb;
    --ok:#0f8a5f;
    --warn:#a86a00;
    --radius:12px;
    --radius-sm:8px;
    --wrap:1240px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}

a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* --- шапка --- */
.topbar{
    position:sticky;top:0;z-index:20;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
}
.topbar--admin{border-bottom-color:#d7e3ef}
.topbar__inner{display:flex;align-items:center;gap:26px;height:62px}
.brand{font-size:17px;font-weight:650;color:var(--ink);letter-spacing:.2px}
.brand span{color:var(--muted);font-weight:400;font-size:14px}
.brand:hover{text-decoration:none;color:var(--acc)}
.nav{display:flex;gap:4px;flex:1}
.nav a{color:var(--ink-dim);padding:7px 12px;border-radius:var(--radius-sm);font-size:14.5px}
.nav a:hover{background:var(--panel-alt);color:var(--acc);text-decoration:none}
.nav a.is-active{background:var(--acc-soft);color:var(--acc);font-weight:500}
.topbar__phone{
    font-size:14px;border:1px solid var(--line);padding:7px 14px;border-radius:var(--radius-sm);
    color:var(--ink-dim);white-space:nowrap;
}
.topbar__phone:hover{border-color:var(--acc);color:var(--acc);text-decoration:none}
.nav__short{display:none}

/* --- типографика --- */
.page-title{font-size:28px;line-height:1.25;margin:26px 0 8px;font-weight:650}
.page-lead{color:var(--muted);margin:0 0 22px;max-width:900px}
.section-title{font-size:20px;margin:34px 0 6px;font-weight:600}
.section-lead{color:var(--muted);margin:0 0 16px}
.hint{color:var(--muted);font-size:13px;margin-top:14px}
.page-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;flex-wrap:wrap}

/* --- хлебные крошки --- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted);margin:20px 0 4px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--acc)}
.crumbs__sep{opacity:.5}
.crumbs__current{color:var(--ink-dim)}

/* --- главная --- */
.hero{padding:52px 0 10px;max-width:820px}
.hero__title{font-size:36px;line-height:1.2;margin:0 0 14px;font-weight:650}
.hero__text{color:var(--muted);font-size:16.5px;margin:0 0 26px}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap}

.btn{
    display:inline-block;padding:10px 18px;border-radius:var(--radius-sm);
    border:1px solid var(--line);color:var(--ink-dim);font-size:14.5px;cursor:pointer;
    background:#fff;
}
.btn:hover{border-color:var(--acc);color:var(--acc);text-decoration:none}
.btn--primary{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.btn--primary:hover{background:#0a5cb0;color:#fff}
.btn--ghost{font-size:13.5px;padding:8px 14px}

/* --- цифры --- */
.stat-row{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.stat{background:var(--panel-alt);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;min-width:130px}
.stat b{display:block;font-size:22px;line-height:1.15;color:var(--ink)}
.stat span{font-size:12.5px;color:var(--muted)}

/* --- карточки --- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:16px 0 8px}
.cards--two{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.card--link:hover{border-color:var(--acc);text-decoration:none;box-shadow:0 2px 10px rgba(11,107,203,.07)}
.card__title{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:6px}
.card__text{color:var(--muted);font-size:13.5px}
.card__meta{margin-top:10px;font-size:12.5px;color:var(--ink-dim);border-top:1px solid var(--line-soft);padding-top:10px}

/* --- каталог: уровни --- */
.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:6px 0 14px}
.toolbar__actions{display:flex;gap:8px}
.search{
    flex:1;min-width:260px;padding:10px 14px;border-radius:var(--radius-sm);
    border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14.5px;
}
.search::placeholder{color:#9aa9ba}
.search:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.chip{
    font-size:13px;padding:6px 12px;border-radius:20px;border:1px solid var(--line);
    background:var(--bg-soft);color:var(--ink-dim);
}
.chip:hover{border-color:var(--acc);color:var(--acc);text-decoration:none}

.groups{margin-top:10px}
.group{padding:20px 0 4px;border-top:1px solid var(--line)}
.group:first-child{border-top:0}
.group__head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap}
.group__title{font-size:22px;margin:0;font-weight:650;letter-spacing:-.2px}
.group__title a{color:var(--ink)}
.group__title a:hover{color:var(--acc);text-decoration:none}
.group__meta{display:flex;gap:8px;flex-wrap:wrap}
.group__note{color:var(--muted);margin:6px 0 0;font-size:13.5px}

.badge{font-size:12px;padding:3px 10px;border-radius:20px;border:1px solid var(--line);color:var(--ink-dim);white-space:nowrap;background:#fff}
.badge--ok{background:#eaf7f1;border-color:#c8e8d8;color:var(--ok)}
.badge--warn{background:#fdf5e6;border-color:#f0dfb9;color:var(--warn)}
.badge--muted{background:var(--bg-soft);color:var(--muted)}

.series-list{margin-top:12px}
.serie{padding:9px 0 8px;border-top:1px solid var(--line-soft)}
.serie:first-child{border-top:0;padding-top:2px}
.serie__head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.serie__title{font-size:15.5px;margin:0;font-weight:600}
.serie__title a{color:var(--ink-dim)}
.serie__title a:hover{color:var(--acc);text-decoration:none}
.serie__count{font-size:12.5px;color:var(--muted)}
.serie__count--empty{color:var(--warn)}

/* типы — плотным списком, только обозначение */
.models{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.model{
    display:inline-block;padding:4px 9px;border:1px solid var(--line);border-radius:6px;
    background:var(--bg-soft);font-size:13px;color:var(--ink);line-height:1.4;
    transition:border-color .1s,background .1s,color .1s;
}
.model:hover{border-color:var(--acc);background:var(--acc-soft);color:var(--acc);text-decoration:none}

#catalog-tree.is-collapsed .series-list,
#catalog-tree.is-collapsed .models{display:none}
.empty-note{color:var(--muted);padding:20px 0}

/* --- страница типа: иерархия вывода --- */
.spec-row{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 8px}

.htree{margin:22px 0 0;max-width:900px}
.htree__group{
    font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
    margin:22px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line);
    display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;
}
.htree__group:first-child{margin-top:0}
.htree__hint{text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--muted)}
.htree__list{list-style:none;margin:0;padding:0 0 0 18px;border-left:1px solid var(--line)}
/* подпись и значение — две колонки: длинная подпись переносится, но не наезжает на значение */
.htree__list li{
    position:relative;padding:7px 0 7px 16px;font-size:14px;
    display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);
    gap:2px 18px;align-items:baseline;
}
.htree__list li::before{
    content:"";position:absolute;left:0;top:17px;width:10px;height:1px;background:var(--line);
}
.htree__k{color:var(--muted);min-width:0;overflow-wrap:break-word}
.htree__v{color:var(--ink);font-weight:500;min-width:0;overflow-wrap:anywhere}

/* два столбца на ПК: основные характеристики и размерные */
.htree--cols{display:block;max-width:none}
@media (min-width:1000px){
    .htree--cols{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;align-items:start}
    .htree--cols .htree__col{min-width:0}
    .htree--cols .htree__list li{grid-template-columns:minmax(0,52%) minmax(0,1fr)}
}
@media (max-width:560px){
    .htree__list li{grid-template-columns:1fr;gap:1px}
}

/* исполнения: строка + климатические исполнения под ней */
.htree__list--exec li{display:block;padding:12px 0 12px 16px}
.htree__list--exec li::before{top:24px}
.exec__head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.exec__code{font-weight:600;color:var(--ink);font-size:21px}
.exec__title{color:var(--muted);font-size:19px}
.exec__climates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;padding-left:2px}
/* климатическое исполнение: две строки — код с температурой и полное описание */
.climate{
    display:flex;flex-direction:column;gap:3px;
    padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;
    color:var(--ink);min-width:0;
}
.climate:hover{border-color:var(--acc);background:var(--acc-soft);color:var(--acc);text-decoration:none}
.climate__head{display:flex;align-items:baseline;gap:10px}
.climate__code{font-size:19px;font-weight:600}
.climate__temp{font-size:16px;color:var(--muted);white-space:nowrap}
.climate:hover .climate__temp{color:var(--acc)}
.climate__desc{font-size:14px;color:var(--muted);line-height:1.35}
.climate:hover .climate__desc{color:var(--acc)}
.climate--empty{color:#c2ccd8;background:transparent}

@media (max-width:900px){
    .exec__climates{grid-template-columns:1fr}
}
@media (max-width:560px){
    .exec__code{font-size:19px}
    .exec__title{font-size:17px}
    .exec__climates{padding-left:0}
    .climate__code{font-size:18px}
    .climate__temp{font-size:15px}
    .climate__desc{font-size:14px}
}

/* страница габарита: список типов */
.hrow{
    display:flex;align-items:baseline;gap:16px;padding:11px 14px;
    border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;margin-bottom:6px;
    max-width:900px;
}
.hrow:hover{border-color:var(--acc);background:var(--acc-soft);text-decoration:none}
.hrow__code{font-weight:600;color:var(--ink);min-width:120px}
.hrow__spec{color:var(--muted);font-size:13.5px;flex:1}
.hrow__arrow{color:var(--acc);opacity:.6}

/* --- карточка товара (заглушка) --- */
.product-stub{background:var(--panel-alt);border:1px solid var(--line);border-radius:var(--radius);padding:6px 18px;margin:18px 0 20px;max-width:760px}
.product-stub__row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line-soft)}
.product-stub__row:last-child{border-bottom:0}
.product-stub__row span{color:var(--muted);font-size:13.5px}
.product-stub__row b{color:var(--ink);font-weight:600;font-size:14px;text-align:right}

.placeholder{
    border:1px dashed #cfd9e4;border-radius:var(--radius);padding:20px 22px;
    background:var(--bg-soft);max-width:760px;
}
.placeholder__title{font-weight:600;margin-bottom:8px}
.placeholder p{color:var(--muted);margin:0;font-size:14px}

/* --- справочник --- */
.topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-top:8px}
.topic{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.topic__title{font-size:17px;margin:0 0 8px;font-weight:600}
.topic__text{color:var(--muted);font-size:13.5px;margin:0 0 12px}
.topic__list{margin:0;padding-left:18px;color:var(--ink-dim);font-size:13.5px}
.topic__list li{margin:4px 0}

/* --- контакты --- */
.contacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:8px 0 22px}
.contact{background:var(--panel-alt);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.contact__label{font-size:12.5px;color:var(--muted)}
.contact__value{font-size:17px;color:var(--ink);font-weight:600;margin:4px 0}
.contact__hint{font-size:12px;color:var(--muted)}

/* --- админка --- */
.admin-body{background:var(--bg-soft)}
.modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:8px}
.module{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.module__head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.module__title{font-weight:600}
.module__text{color:var(--muted);font-size:13px}

/* --- 404 --- */
.notfound{padding:60px 0;max-width:620px}
.notfound__code{font-size:64px;font-weight:700;color:var(--line);line-height:1}

/* --- подвал --- */
.footer{margin-top:60px;border-top:1px solid var(--line);background:var(--bg-soft)}
.footer__inner{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between;padding:28px 24px}
.footer__brand{font-weight:600;margin-bottom:6px}
.footer__note{color:var(--muted);font-size:13px;margin:0;max-width:280px}
.footer__col{display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.footer__title{color:var(--muted);font-size:12.5px;margin-bottom:2px}
.footer__col a{color:var(--ink-dim)}
.footer__col a:hover{color:var(--acc)}
.footer__bottom{border-top:1px solid var(--line);padding:12px 24px;color:var(--muted);font-size:12.5px}

/* --- адаптив --- */
/* --- шапка на телефоне: два ряда, навигация прокручивается --- */
@media (max-width:820px){
    .topbar{position:static}                    /* на телефоне не занимаем экран липкой шапкой */
    .topbar__inner{height:auto;flex-wrap:wrap;gap:8px 12px;padding:9px 0 7px}
    .brand{font-size:16px;flex:1 1 auto;min-width:0}
    .nav a[href="/"]{display:none}              /* «Главная» — это и есть название сайта */
    .topbar__phone{margin-left:auto;padding:6px 12px;font-size:13.5px}
    .nav{
        order:3;flex:1 0 100%;gap:3px;margin:0;padding:0 0 2px;
        overflow-x:auto;overflow-y:hidden;
        scrollbar-width:none;-ms-overflow-style:none;
        -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);
        mask-image:linear-gradient(90deg,#000 88%,transparent);
    }
    .nav::-webkit-scrollbar{display:none}
    .nav a{white-space:nowrap;padding:6px 10px;font-size:14px}
    .nav__full{display:none}
    .nav__short{display:inline}
}

/* --- узкие экраны: сетки в одну колонку, меньше отступы --- */
@media (max-width:560px){
    .wrap{padding:0 16px}
    .cards,.cards--two,.topics{grid-template-columns:minmax(0,1fr)}
    .page-title{font-size:23px}
    .hero__title{font-size:28px}
    .stat{min-width:0;flex:1 1 46%}
}
@media (max-width:820px){
    .hero{padding:34px 0 0}
    .hero__title{font-size:28px}
    .page-title{font-size:23px}
    .group__title{font-size:19px}
    .topbar__inner{height:auto;padding:10px 0;flex-wrap:wrap;gap:10px}
    .nav{order:3;width:100%;overflow-x:auto}
    .matrix thead th{position:static}
}

/* --- схема двигателя --- */
.scheme-wrap{margin:22px 0 6px}
.scheme{width:100%;max-width:980px;height:auto;background:var(--panel-alt);border:1px solid var(--line);border-radius:var(--radius);padding:8px 4px}
.scheme-base{stroke:#c8d4e0;stroke-width:2}
.scheme-axis{stroke:#0b6bcb;stroke-width:1;stroke-dasharray:9 5;opacity:.55}
.scheme-body{fill:#fff;stroke:#3b4c60;stroke-width:2}
.scheme-rib{stroke:#dbe4ee;stroke-width:1.5}
.scheme-flange{fill:#e8f1fb;stroke:#3b4c60;stroke-width:1.6}
.scheme-shaft{fill:#dce9f7;stroke:#3b4c60;stroke-width:1.6}
.scheme-key{fill:#0b6bcb;opacity:.55}
.scheme-foot{fill:#eef3f9;stroke:#3b4c60;stroke-width:1.6}
.scheme-hole{fill:#fff;stroke:#3b4c60;stroke-width:1.4}
.scheme-axis-circle{fill:none;stroke:#c8d4e0;stroke-width:1.4;stroke-dasharray:5 4}
.scheme-pcd{fill:none;stroke:#9fb3c7;stroke-width:1.4;stroke-dasharray:6 4}
.dim{stroke:#6b7c90;stroke-width:1.2}
.dim--acc{stroke:#0b6bcb}
.dim-ext{stroke:#c8d4e0;stroke-width:1}
.dim-t{font:600 22px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;fill:#16202c}
.dim-t--acc{fill:#0b6bcb}
.dim-t--soft{font:400 19px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;fill:#6b7c90}
.scheme-cap{font:400 19px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;fill:#93a7bb}

.scheme-title{font-size:16px;font-weight:600;margin-bottom:8px}
.scheme-title span{font-weight:400;color:var(--muted);font-size:13.5px;margin-left:8px}
.scheme-ex{font:600 21px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;fill:#6b7c90;letter-spacing:.04em}

.scheme-lead{stroke:#41556b;stroke-width:1;stroke-dasharray:3 3;opacity:.5}
.scheme-foot{fill:#8ea9c6;stroke:#22405f;stroke-width:1.6}

/* ==========================================================================
   Панель подбора по характеристикам — под строкой поиска.
   ========================================================================== */
.filters{
    margin:14px 0 18px;padding:14px 16px 13px;
    border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);
}
.filters__head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:13px}
.filters__title{font-weight:600;font-size:15px}
.filters__note{font-size:13px;color:var(--muted)}
.filters__reset{margin-left:auto;font-size:13.5px}

.filters__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:13px 20px}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld__label{font-size:13px;color:var(--ink-dim);font-weight:500}
.fld__inputs{display:flex;align-items:center;gap:8px}
.fld__dash{font-style:normal;color:var(--muted)}
.fld__hint{font-size:12.5px;color:var(--muted)}
.fld__quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}

.inp{
    width:100%;min-width:0;padding:8px 11px;border-radius:var(--radius-sm);
    border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14.5px;
    font-family:inherit;
}
.inp:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.inp::placeholder{color:#a9b5c4}
.inp--select{cursor:pointer;padding-right:8px}

.fchip{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:34px;padding:5px 11px;border-radius:20px;
    border:1px solid var(--line);background:#fff;color:var(--ink-dim);
    font-size:13.5px;cursor:pointer;
}
.fchip:hover{border-color:var(--acc);color:var(--acc);text-decoration:none}
.fchip.is-on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.fchip--check input{position:absolute;opacity:0;width:1px;height:1px}
.fchip--check:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}

.filters__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px}

.filter-result{
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    margin:-4px 0 16px;padding:11px 14px;
    border:1px solid #cfe2f6;border-radius:var(--radius-sm);background:var(--acc-soft);
    font-size:14px;
}
.filter-result__num{font-weight:600;color:var(--ink)}
.filter-result__of{color:var(--muted)}
.badge--x{background:#fff;border-color:#c7dcf2;color:var(--acc)}
.badge--x:hover{border-color:var(--acc);text-decoration:none}

.filter-note{margin:-8px 0 16px;font-size:13px;color:var(--muted)}

.filter-empty{
    display:flex;align-items:center;gap:14px;flex-wrap:wrap;
    margin:0 0 18px;padding:16px 18px;
    border:1px solid #f0dfb9;border-radius:var(--radius);background:#fdf8ee;
}
.filter-empty span{color:var(--ink-dim);font-size:14px}
.filter-empty .btn{margin-left:auto}

@media (max-width:560px){
    .filters{padding:12px 13px}
    .filters__reset{margin-left:0}
    .filters__actions .btn{flex:1;text-align:center}
    /* на телефоне панель компактнее: подпись слева, поле справа, подсказки убираем */
    .filters__grid{gap:9px}
    .fld{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}
    .fld__label{flex:0 0 auto}
    .fld__inputs{flex:1 1 160px}
    .fld__hint{display:none}
    .fld__quick{flex:0 0 100%;margin-top:0}
}

/* ==========================================================================
   Облака тегов и блоки перелинковки
   ========================================================================== */
.clouds{margin:34px 0 10px;border-top:1px solid var(--line);padding-top:20px}
.cloud{margin-bottom:14px}
.cloud__title{
    font-size:13.5px;font-weight:600;color:var(--ink-dim);
    display:flex;align-items:baseline;gap:8px;margin-bottom:8px;
}
.cloud__title span{font-weight:400;color:var(--muted);font-size:12.5px}
.cloud__links{display:flex;flex-wrap:wrap;gap:6px}

.chip--count{gap:7px}
.chip--count i{
    font-style:normal;font-size:11.5px;color:var(--muted);
    background:var(--bg-soft);border-radius:20px;padding:1px 7px;
}
.chip--count:hover i{background:#fff}
.chip--count.is-on{background:var(--acc);border-color:var(--acc);color:#fff}
.chip--count.is-on i{background:rgba(255,255,255,.22);color:#fff}

.related{margin:34px 0 10px;border-top:1px solid var(--line);padding-top:20px}
.related__group{margin-bottom:16px}
.related__title{
    font-size:15px;font-weight:600;margin:0 0 9px;
    display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;
}
.related__title span{font-weight:400;color:var(--muted);font-size:12.5px}
.related__links{display:flex;flex-wrap:wrap;gap:6px}

.group__title--plain{font-size:20px;font-weight:600;color:var(--ink);margin:0}

/* ==========================================================================
   Информационные страницы: контакты, оплата, доставка
   ========================================================================== */
.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:8px 0 26px}
.info-cards--two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.info-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.info-card--wide{padding:18px 20px}
.info-card__title{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}
.info-card__value{font-size:17px;font-weight:600;color:var(--ink);line-height:1.35}
.info-card__note{font-size:13px;color:var(--muted);margin-top:6px}
.info-card .ticks{margin:10px 0 0}

.ticks{margin:0;padding:0;list-style:none}
.ticks li{position:relative;padding-left:24px;margin:9px 0;color:var(--ink-dim);font-size:14.5px;line-height:1.5}
.ticks li::before{
    content:"";position:absolute;left:2px;top:7px;width:11px;height:6px;
    border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg);
}
.ticks b{color:var(--ink)}

.note-box{
    border:1px solid #cfe2f6;border-left:4px solid var(--acc);border-radius:var(--radius-sm);
    background:var(--acc-soft);padding:14px 18px;margin:0 0 26px;font-size:14.5px;color:var(--ink-dim);
}
.note-box b{color:var(--ink)}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:8px 0 26px}
.step{display:flex;gap:12px;align-items:flex-start;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.step__num{
    flex:0 0 26px;height:26px;border-radius:50%;background:var(--acc);color:#fff;
    font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;
}
.step__title{font-weight:600;color:var(--ink);margin-bottom:4px}
.step__text{font-size:14px;color:var(--muted);line-height:1.5}

.requisites{margin:8px 0 20px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.requisites__row{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:16px;padding:11px 16px;border-bottom:1px solid var(--line-soft)}
.requisites__row:nth-child(odd){background:var(--bg-soft)}
.requisites__row:last-child{border-bottom:0}
.requisites dt{color:var(--muted);font-size:13.5px}
.requisites dd{margin:0;color:var(--ink);font-size:14.5px}

.map{margin:8px 0 26px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-soft)}
.map__frame{display:block;width:100%;height:380px;border:0}
.map__foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:11px 16px;border-top:1px solid var(--line);background:#fff;font-size:13.5px;color:var(--muted)}
.map__foot span{flex:1;min-width:200px;color:var(--ink-dim)}

/* --- кнопка меню на телефоне --- */
.nav-toggle{display:none}
/* чекбокс скрыт визуально, но остаётся доступным с клавиатуры (Space переключает меню) */
.nav-toggle__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.nav-toggle__input:focus-visible ~ .nav-toggle{outline:2px solid var(--acc);outline-offset:2px}
@media (max-width:820px){
    .nav-toggle{
        display:inline-flex;align-items:center;gap:7px;
        padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);
        font-size:13.5px;color:var(--ink-dim);cursor:pointer;order:2;margin-left:auto;
    }
    .nav-toggle::before{content:"";width:14px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
    .topbar__phone{order:1;margin-left:0}
    .nav-toggle__input:checked ~ .nav{display:flex;flex-direction:column;gap:2px;padding:8px 0 2px}
    .nav{display:none}
    .nav a{padding:9px 10px;border-radius:var(--radius-sm)}
}

@media (max-width:560px){
    .map__frame{height:300px}
    .requisites__row{grid-template-columns:1fr;gap:2px}
    .step{padding:12px 14px}
}

/* ==========================================================================
   Корзина, оформление заказа, счёт
   ========================================================================== */
.flash{
    margin:14px 0 18px;padding:12px 16px;border-radius:var(--radius-sm);
    border:1px solid #cfe2f6;background:var(--acc-soft);color:var(--ink-dim);font-size:14.5px;
}
.flash--error{border-color:#f0c9c9;background:#fdf2f2;color:#8a2b2b}

.cart{margin:8px 0 18px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.cart__head,.cart__row{
    display:grid;grid-template-columns:minmax(220px,1fr) 110px 100px 120px 90px;
    gap:14px;align-items:center;padding:12px 16px;
}
.cart__head{background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.cart__row{border-bottom:1px solid var(--line-soft)}
.cart__row:last-of-type{border-bottom:0}
.cart__row:hover{background:var(--bg-soft)}
.cart__name a{font-weight:600;color:var(--ink)}
.cart__meta{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.cart__price{color:var(--ink-dim);white-space:nowrap}
.cart__sum{font-weight:600;white-space:nowrap}
.cart__actions{text-align:right}
.inp--qty{width:100%;padding:7px 9px;text-align:center}
.linkish{
    background:none;border:0;padding:0;color:var(--muted);font:inherit;font-size:13.5px;
    cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);
}
.linkish:hover{color:#b03535;text-decoration-color:currentColor}
.cart__foot{
    display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
    padding:14px 16px;background:var(--bg-soft);border-top:1px solid var(--line);
}
.cart__total{font-size:15px}
.cart__total b{font-size:20px}
.cart__total span{display:block;font-size:12.5px;color:var(--muted)}
.cart__checkout{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.cart__checkout form{margin:0}
.cart--readonly .cart__row{grid-template-columns:minmax(200px,1fr) 110px 90px 120px 40px}

/* --- цена и кнопка покупки в карточке --- */
.buy{
    display:flex;align-items:center;gap:20px;flex-wrap:wrap;
    margin:16px 0 10px;padding:16px 20px;
    border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:var(--radius);background:#fff;
}
.buy__price{display:flex;flex-direction:column}
.buy__value{font-size:30px;font-weight:700;line-height:1.1;color:var(--ink)}
.buy__note{font-size:12.5px;color:var(--muted)}
.buy__form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.buy__qty{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted)}
.buy__qty .inp{width:88px}
.buy__side{margin-left:auto}

/* --- форма оформления --- */
.checkout__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:26px;margin-bottom:26px}
.checkout__col{display:flex;flex-direction:column;gap:12px}
.checkout__col .section-title{margin-top:0}
.inp--area{resize:vertical;min-height:74px;font-family:inherit}
.fld__error{font-size:12.5px;color:#b03535}

.radio{
    display:flex;gap:12px;align-items:flex-start;cursor:pointer;
    padding:13px 16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;
}
.radio:hover{border-color:var(--acc)}
.radio.is-on,.radio:has(input:checked){border-color:var(--acc);background:var(--acc-soft)}
.radio input{margin-top:3px}
.radio__body{display:flex;flex-direction:column;gap:3px}
.radio__title{font-weight:600;color:var(--ink)}
.radio__title b{float:right;margin-left:12px;color:var(--acc)}
.radio__note{font-size:13px;color:var(--muted)}

.agree{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:14px;color:var(--ink-dim);cursor:pointer}
.agree input{margin-top:3px}
.agree.has-error{color:#b03535}
.checkout__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px}
.checkout__note{font-size:13px;color:var(--muted)}

/* --- заказ и счёт --- */
.order-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.invoice{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:24px 26px;margin-bottom:22px}
.invoice__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:18px}
.invoice__title{font-size:19px;font-weight:700}
.invoice__sub{font-size:12.5px;color:var(--muted);margin-top:4px}
.invoice__stamp{font-size:13px;font-weight:600;color:var(--acc);border:1px solid var(--acc);border-radius:6px;padding:5px 12px;white-space:nowrap}
.invoice__parties{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:20px}
.invoice__party-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:5px}
.invoice__party{font-size:13.5px;line-height:1.55;color:var(--ink-dim)}
.invoice__table{width:100%;border-collapse:collapse;font-size:13.5px;table-layout:fixed}
/* ширины колонок: наименование забирает остаток, числовые — фиксированы,
   иначе таблица вырастает шире листа и правая граница уходит за край печати */
.invoice__table th:nth-child(1){width:38px}
.invoice__table th:nth-child(3){width:76px;white-space:nowrap}
.invoice__table th:nth-child(4){width:104px;white-space:nowrap}
.invoice__table th:nth-child(5){width:110px;white-space:nowrap}
.invoice__table td{overflow-wrap:anywhere}
.invoice__table th,.invoice__table td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
.invoice__table th{background:var(--bg-soft);font-size:12.5px;color:var(--muted);font-weight:600}
.invoice__table td:nth-child(3),.invoice__table td:nth-child(4),.invoice__table td:nth-child(5){text-align:right;white-space:nowrap}
.invoice__table tfoot td{background:var(--bg-soft)}
.invoice__table .invoice__total td{background:var(--acc-soft)}
.invoice__article{display:block;font-size:12px;color:var(--muted)}
.invoice__terms{margin-top:18px;font-size:13px;color:var(--ink-dim);line-height:1.6}
.invoice__terms p{margin:0 0 8px}
.invoice__sign{display:flex;gap:30px;flex-wrap:wrap;margin-top:18px;font-size:13.5px}

.topbar__cart{
    display:inline-flex;align-items:center;gap:7px;
    font-size:14px;border:1px solid var(--line);padding:7px 14px;border-radius:var(--radius-sm);
    color:var(--ink-dim);white-space:nowrap;
}
.topbar__cart:hover{border-color:var(--acc);color:var(--acc);text-decoration:none}
.topbar__cart b{
    background:var(--acc);color:#fff;border-radius:20px;font-size:11.5px;
    padding:1px 7px;font-weight:600;
}

@media (max-width:820px){
    .cart__head{display:none}
    .cart__row{grid-template-columns:1fr 1fr;gap:8px 14px;padding:14px 16px}
    .cart__name{grid-column:1 / -1}
    .cart__actions{text-align:left}
    .cart__price::before{content:"Цена: ";color:var(--muted)}
    .cart__sum::before{content:"Сумма: ";color:var(--muted)}
    .cart--readonly .cart__row{grid-template-columns:1fr 1fr}
    .buy{padding:14px 16px}
    .buy__value{font-size:25px}
    .buy__side{margin-left:0}
    .invoice{padding:16px 14px}
    .invoice__head{flex-direction:column}
    /* на телефоне числовые колонки уже и шрифт мельче, иначе наименованию не остаётся места */
    .invoice__table{font-size:11.5px}
    .invoice__table th,.invoice__table td{padding:5px 4px}
    .invoice__table th:nth-child(1){width:26px}
    .invoice__table th:nth-child(3){width:44px}
    .invoice__table th:nth-child(4){width:62px}
    .invoice__table th:nth-child(5){width:68px}
    .invoice__table th{font-size:11px;white-space:normal}
}

/* --- реквизиты для оплаты в шапке счёта: тот же кегль, что у данных поставщика --- */
.invoice__requisites{margin-top:10px;font-size:13.5px;line-height:1.55;color:var(--ink-dim)}
.invoice__requisites-title{font-weight:600;color:var(--ink);margin-bottom:3px}

/* --- уведомление в счёте: срок действия и подтверждение наличия --- */
.invoice__notice{
    margin:0 0 16px;padding:9px 13px;border:1px solid #f0d9a8;background:#fffaf0;
    border-radius:var(--radius-sm);font-size:12.5px;line-height:1.5;color:#7a5c14;
}
.invoice__note{color:var(--muted);font-size:11.5px;font-weight:400}

/* --- печать счёта: только сам счёт --- */
@media print{
    /* счёт должен укладываться на один лист A4 */
    @page{size:A4 portrait;margin:10mm 12mm}
    /* запас справа: у принтеров есть аппаратные поля, и граница таблицы,
       стоящая ровно по краю области печати, у них срезается */
    .invoice__table{border-right:2px solid #000}
    .invoice__table th:last-child,.invoice__table td:last-child{border-right:2px solid #000}
    .topbar,.footer,.crumbs,.order-actions,.flash,.hint,.related,.buy,.page-lead,.note-box{display:none !important}
    .wrap{max-width:none;padding:0}
    .page-title{font-size:13pt;margin:0 0 6px}
    /* справа оставляем запас: у принтеров есть аппаратные поля, и граница таблицы,
       стоящая ровно по краю области печати, у них срезается */
    .invoice{border:0;padding:0 7mm 0 0;margin:0}
    a{color:#000;text-decoration:none}

    /* основной текст счёта — на 20 % меньше экранного, между строками плотнее */
    .invoice{font-size:10.5px;line-height:1.25}
    .invoice__head{padding-bottom:6px;margin-bottom:8px}
    .invoice__title{font-size:13.5px}
    .invoice__sub{font-size:9px;margin-top:2px}
    .invoice__stamp{font-size:10px;padding:3px 7px}
    .invoice__notice{margin:0 0 8px;padding:5px 8px;font-size:9px;line-height:1.3}
    .invoice__parties{gap:10px;margin-bottom:8px}
    .invoice__party-label{font-size:8.5px;margin-bottom:2px}
    .invoice__party{font-size:10px;line-height:1.3}
    .invoice__requisites{margin-top:5px;font-size:10px;line-height:1.3}
    .invoice__requisites-title{margin-bottom:2px}
    .invoice__table{font-size:10px}
    .invoice__table th:nth-child(1){width:26px}
    .invoice__table th:nth-child(3){width:44px}
    .invoice__table th:nth-child(4){width:74px}
    .invoice__table th:nth-child(5){width:78px}
    .invoice__table th,.invoice__table td{border-color:#000;padding:3px 5px}
    .invoice__table th{font-size:9px}
    .invoice__article{font-size:8.5px}
    .invoice__terms{margin-top:8px;font-size:9.5px;line-height:1.3}
    .invoice__terms p{margin:0 0 3px}
    .invoice__sign{margin-top:10px;font-size:10px;gap:20px}

    /* блок реквизитов — ещё на 40 % меньше основного текста */
    .invoice__bank{margin-top:8px}
    .invoice__bank-title{padding:4px 8px;font-size:9.5px}
    .invoice__bank-table{font-size:8px}
    .invoice__bank-table td{padding:2px 8px}
    .invoice__bank-label{width:118px}
    .invoice__bank-note{padding:4px 8px;font-size:8.5px;line-height:1.3}
}

/* --- наличие, склад, срок поставки (под ценой) --- */
.stock{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;font-size:14.5px}
.stock__dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}
.stock--in .stock__dot{background:var(--ok)}
.stock--order .stock__dot{background:#e0a90c}
.stock--in .stock__text{color:var(--ok);font-weight:600}
.stock--order .stock__text{color:var(--ink)}
.stock__note{color:var(--muted);font-size:13px}

/* --- админка --- */
.admin-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:22px 0 8px}
.admin-head h1{font-size:24px;margin:0}
.topbar__admin{font-size:13.5px;color:var(--muted);white-space:nowrap}
.admin-logout{margin:0}
.admin-sections{display:flex;flex-direction:column;gap:16px;margin:16px 0 26px}
.admin-section{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}
.admin-section.is-off{background:var(--bg-soft);opacity:.75}
.admin-section__head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:13px 16px;background:var(--panel-alt);border-bottom:1px solid var(--line)}
.admin-section__head form{margin:0}
.admin-table{width:100%;border-collapse:collapse;font-size:14px}
.admin-table th,.admin-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line-soft)}
.admin-table th{background:var(--bg-soft);font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.admin-table tr.is-off{color:var(--muted);background:#fcfcfd}
.admin-table--compact td,.admin-table--compact th{padding:8px 14px}
.admin-num{white-space:nowrap;color:var(--muted)}
.admin-actions{text-align:right;white-space:nowrap}
.admin-actions form{display:inline;margin:0}
.admin-status{margin:0}
.admin-status select{padding:5px 8px;font-size:13.5px}
.admin-muted{color:var(--muted);font-size:12.5px;margin-left:8px}
.admin-login{max-width:380px;margin:12vh auto 0;padding:0 20px}
.admin-login__title{font-size:24px;margin:0 0 6px}
.admin-login__note{color:var(--muted);font-size:13.5px;margin:0 0 18px}
.admin-login__form{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.admin-login__warn{color:var(--warn);font-size:13px;margin-top:14px}
.admin-min{background:var(--bg-soft)}

/* --- редактор страниц в админке --- */
.editor-form{display:flex;flex-direction:column;gap:20px;margin:16px 0 40px}
.editor-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.editor-meta .fld--row{flex-direction:row;align-items:center;gap:22px;flex-wrap:wrap}
.editor-meta .fld--inline{flex-direction:row;align-items:center;gap:10px}
.editor-meta .fld--inline .fld__label{margin:0}
.editor{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}
.editor__toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px 10px;background:var(--bg-soft);border-bottom:1px solid var(--line)}
.editor__toolbar button{
    font:inherit;font-size:13.5px;padding:5px 10px;border:1px solid transparent;border-radius:var(--radius-sm);
    background:#fff;color:var(--ink-dim);cursor:pointer;
}
.editor__toolbar button:hover{border-color:var(--acc);color:var(--acc)}
.editor__sep{width:1px;background:var(--line);margin:2px 6px}
.editor__mode{margin-left:auto;font-family:ui-monospace,Menlo,Consolas,monospace}
.editor__surface{
    min-height:420px;max-height:70vh;overflow:auto;padding:20px 22px;outline:none;
    font-size:15px;line-height:1.65;color:var(--ink);
}
.editor__surface:focus{background:#fff}
.editor__surface h2{font-size:21px;margin:22px 0 10px}
.editor__surface h3{font-size:17px;margin:18px 0 8px}
.editor__surface p{margin:0 0 12px}
.editor__surface ul,.editor__surface ol{margin:0 0 14px;padding-left:22px}
.editor__surface li{margin:5px 0}
.editor__surface blockquote{margin:14px 0;padding:10px 16px;border-left:4px solid var(--acc);background:var(--acc-soft)}
.editor__surface table{border-collapse:collapse;width:100%;margin:14px 0}
.editor__surface td,.editor__surface th{border:1px solid var(--line);padding:8px 11px}
.editor__surface img{max-width:100%;height:auto}
.editor__code{
    width:100%;min-height:420px;padding:16px;border:0;outline:none;resize:vertical;
    font:13.5px/1.6 ui-monospace,Menlo,Consolas,monospace;color:#12324f;background:#f7fbff;
}
.editor-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.linkish--danger{color:#b03535;margin-left:12px}

/* --- страница, отредактированная в админке --- */
.page-content{max-width:900px;font-size:15.5px;line-height:1.7;color:var(--ink-dim)}
.page-content h2{font-size:22px;color:var(--ink);margin:30px 0 12px}
.page-content h3{font-size:17.5px;color:var(--ink);margin:22px 0 10px}
.page-content p{margin:0 0 14px}
.page-content ul,.page-content ol{margin:0 0 16px;padding-left:24px}
.page-content li{margin:6px 0}
.page-content table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14.5px}
.page-content th,.page-content td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.page-content th{background:var(--bg-soft)}
.page-content blockquote{margin:16px 0;padding:12px 18px;border-left:4px solid var(--acc);background:var(--acc-soft);color:var(--ink-dim)}
.page-content img{max-width:100%;height:auto}
.page-content code{background:var(--bg-soft);padding:1px 6px;border-radius:4px;font-size:14px}

/* --- логотип --- */
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand__logo{display:block;height:46px;width:auto}
.footer__phone{margin:10px 0 6px;font-size:17px;font-weight:600}
.footer__phone a{color:var(--ink)}
.footer__phone a:hover{color:var(--acc);text-decoration:none}

@media (max-width:1100px){ .brand__logo{height:40px} }
@media (max-width:820px){ .brand__logo{height:36px} }
@media (max-width:560px){ .brand__logo{height:32px} }

/* --- панель администратора сверху (как в Битриксе) --- */
.adminbar{
    position:sticky;top:0;z-index:40;
    background:#16202c;color:#dbe6f2;font-size:13.5px;
    border-bottom:1px solid #0d151f;
}
.adminbar__inner{display:flex;align-items:center;gap:14px;min-height:38px;flex-wrap:wrap}
.adminbar__brand{display:inline-flex;align-items:center;gap:8px;color:#9fb3c8;white-space:nowrap}
.adminbar__dot{width:8px;height:8px;border-radius:50%;background:#37c07a;box-shadow:0 0 0 3px rgba(55,192,122,.2)}
.adminbar__edit{
    background:var(--acc);color:#fff;font-weight:600;padding:5px 14px;border-radius:var(--radius-sm);
    white-space:nowrap;
}
.adminbar__edit:hover{background:#0a5cb0;color:#fff;text-decoration:none}
.adminbar__links{display:flex;gap:4px;flex:1;flex-wrap:wrap}
.adminbar__links a{color:#c7d6e6;padding:5px 10px;border-radius:var(--radius-sm);white-space:nowrap}
.adminbar__links a:hover{background:rgba(255,255,255,.09);color:#fff;text-decoration:none}
.adminbar__exit{margin:0}
.adminbar__exit button{
    font:inherit;font-size:13.5px;background:none;border:1px solid rgba(255,255,255,.22);
    color:#c7d6e6;padding:4px 12px;border-radius:var(--radius-sm);cursor:pointer;
}
.adminbar__exit button:hover{border-color:#fff;color:#fff}
body.has-adminbar .topbar{top:38px}
@media (max-width:820px){
    .adminbar__inner{gap:8px;padding:6px 0}
    .adminbar__brand{font-size:12.5px}
    .adminbar__links a{padding:4px 8px;font-size:12.5px}
    .adminbar{position:static}
    body.has-adminbar .topbar{top:0}
}

/* --- дерево разделов в админке --- */
.admin-table .admin-row--group td{background:var(--panel-alt);font-size:14.5px}
.admin-table .admin-row--group.is-off td{background:#f4f6f9}
.admin-table .admin-row--serie td{padding-left:16px}
.admin-tree{color:var(--ink-dim);display:inline-flex;align-items:center;gap:8px}
.admin-table .admin-row--serie.is-off .admin-tree{color:var(--muted)}

/* --- шапка: логотип широкий, поэтому поджимаем меню и телефон на средних экранах --- */
@media (max-width:1200px){
    .topbar__inner{gap:14px}
    .nav a{padding:7px 9px;font-size:14px}
    .topbar__cart{padding:6px 11px;font-size:13.5px}
}
@media (max-width:1080px){
    /* телефон остаётся в подвале и на странице контактов */
    .topbar__phone{display:none}
}
/* --- панель администратора на телефоне: одна прокручиваемая строка --- */
@media (max-width:820px){
    .adminbar__inner{flex-wrap:nowrap;overflow-x:auto;gap:10px;padding:5px 0;scrollbar-width:none}
    .adminbar__inner::-webkit-scrollbar{display:none}
    .adminbar__brand{flex:0 0 auto}
    .adminbar__links{flex:0 0 auto;flex-wrap:nowrap}
    .adminbar__edit{flex:0 0 auto}
}

/* --- ссылка на сайт из админки --- */
.topbar__site{
    display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
    font-size:13.5px;padding:6px 14px;border-radius:var(--radius-sm);
    background:var(--acc);color:#fff;font-weight:600;
}
.topbar__site:hover{background:#0a5cb0;color:#fff;text-decoration:none}
.admin-login__back{margin:16px 0 0;font-size:13.5px}
@media (max-width:820px){ .topbar__site{font-size:12.5px;padding:5px 10px} }

/* --- цена в списках каталога --- */
.hrow__price{white-space:nowrap;color:var(--ink);font-weight:600;font-size:14px}
.hrow{grid-template-columns:auto 1fr auto auto}
.buy--compact{margin:14px 0 6px;padding:12px 18px}
.buy--compact .buy__value{font-size:24px}
@media (max-width:560px){
    .hrow{grid-template-columns:1fr auto}
    .hrow__spec{grid-column:1 / -1}
}
.serie__price{color:var(--ink);font-weight:600}

/* --- банковские реквизиты в счёте --- */
.invoice__bank{margin-top:18px;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
.invoice__bank-title{background:var(--acc-soft);padding:9px 14px;font-size:13px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
.invoice__bank-table{width:100%;border-collapse:collapse;font-size:13.5px}
.invoice__bank-table td{padding:8px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.invoice__bank-table tr:last-child td{border-bottom:0}
.invoice__bank-label{width:190px;color:var(--muted);white-space:nowrap}
.invoice__bank-acc td{background:var(--bg-soft)}
.invoice__bank-note{padding:8px 14px;border-top:1px solid var(--line);background:#fffaf0;color:#7a5c14;font-size:12px;line-height:1.5}
.invoice__bank-acc b{font-size:15px;letter-spacing:.02em}
@media (max-width:560px){
    .invoice__bank-label{width:auto;display:block;padding-bottom:2px;border-bottom:0}
    .invoice__bank-table td{display:block;padding:6px 12px}
    .invoice__bank-table tr{display:block;border-bottom:1px solid var(--line-soft)}
}

/* --- блок банковских реквизитов на страницах --- */
.bank-block{margin:16px 0;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:#fff}
.bank-block__title{background:var(--acc-soft);padding:9px 14px;font-size:13px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
.bank-block__table{width:100%;border-collapse:collapse;font-size:14px}
.bank-block__table td{padding:8px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.bank-block__table tr:last-child td{border-bottom:0}
.bank-block__label{width:200px;color:var(--muted)}
@media (max-width:560px){
    .bank-block__table td{display:block;padding:6px 12px}
    .bank-block__label{width:auto;padding-bottom:0}
}
.editor-help{margin-top:8px;font-size:12.5px;color:var(--muted);background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 14px;line-height:1.6}
.editor-help code{background:#fff;border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:12px;color:var(--acc)}

/* --- фото товара --- */
.product-photo{margin:16px 0 18px;padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;max-width:560px}
.product-photo img{display:block;width:100%;height:auto}
.product-photo figcaption{padding:10px 14px;border-top:1px solid var(--line);background:var(--bg-soft);font-size:12.5px;color:var(--muted)}
@media (max-width:560px){ .product-photo{max-width:none} }

/* ==========================================================================
   Заявка «уточнить цену»: форма, капча, бланк заявки
   ========================================================================== */
.flash--ok{border-color:#c7e3cd;background:#f1faf3;color:#256b39}

/* ловушка для ботов: поле есть в разметке, но человек его не видит */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.request-product{
    display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
    margin:16px 0 20px;padding:14px 18px;background:var(--panel-alt,#f7f9fc);
    border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:var(--radius-sm);
}
.request-product__body{display:flex;flex-direction:column;gap:3px;min-width:0}
.request-product__label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.request-product__name{font-size:17px;font-weight:600;color:var(--ink)}
.request-product__meta{font-size:13px;color:var(--muted)}

.request-steps{margin:0 0 12px;padding-left:20px;font-size:14.5px;color:var(--ink-dim);line-height:1.65}
.request-steps li{margin-bottom:4px}
.request-phone{display:flex;flex-direction:column;gap:2px;margin:0 0 10px}
.request-phone a{font-size:22px;font-weight:700;color:var(--ink)}
.request-phone a:hover{color:var(--acc);text-decoration:none}
.request-phone span{font-size:13px;color:var(--muted)}

.captcha__row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.captcha__img{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;display:block}
.captcha__refresh{white-space:nowrap}
.captcha__input{width:120px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.captcha.has-error .captcha__img{border-color:#f0c9c9}
@media (max-width:560px){
    .captcha__row{gap:8px}
    .captcha__input{width:100px}
}

/* позиция с ценой по запросу: вместо числа — формулировка и кнопка заявки */
.buy--request{border-color:#e3d7b8;background:#fffdf6}
.buy__value--ask{font-size:22px;color:#8a6d1f}
@media (max-width:560px){ .buy__value--ask{font-size:19px} }

/* --- админка: настройки и заявки --- */
.settings{margin:16px 0 6px}
.settings__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 18px}
.settings__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0 26px}
.settings__test{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:0 0 20px;padding:14px 16px;border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--bg-soft)}
.settings__test .fld{flex:1 1 320px}
.settings__log{margin:0 0 22px;padding:12px 14px;background:#0f1a26;color:#dbe7f3;border-radius:var(--radius-sm);font:12px/1.6 monospace;white-space:pre-wrap;overflow:auto;max-height:340px}
.admin-subrow td{padding-top:0;padding-bottom:12px;background:var(--bg-soft);font-size:13.5px}
.admin-section__body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}

/* ==========================================================================
   Опции и комплектации двигателя
   ========================================================================== */
.options{margin:26px 0 20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}
.options .section-title{margin:0;padding:13px 16px;background:var(--panel-alt);border-bottom:1px solid var(--line);font-size:16px}
.options__lead{margin:14px 16px 6px;font-size:14px;color:var(--ink-dim);line-height:1.6}
.options__groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px 22px;padding:10px 16px 4px}
.options__group-title{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:8px 0 6px}
.options__list{list-style:none;margin:0;padding:0}
.options__item{padding:5px 0 5px 14px;position:relative;font-size:14px;line-height:1.5;border-bottom:1px solid var(--line-soft)}
.options__item:last-child{border-bottom:0}
.options__item::before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;border-radius:50%;background:var(--acc)}
.options__name{color:var(--ink);font-weight:500}
.options__note{display:block;color:var(--muted);font-size:13px}
.options__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px 16px;border-top:1px solid var(--line);background:var(--bg-soft)}
.options__hint{font-size:13px;color:var(--muted);max-width:640px}
@media (max-width:560px){
    .options__groups{padding:8px 12px 2px}
    .options__lead{margin:12px 12px 4px}
    .options__actions{padding:12px}
}

/* --- недоступный способ получения (например, Ozon для тяжёлого двигателя) --- */
.radio--off{opacity:.6}
.radio--off .radio__title b{color:var(--muted)}
.radio__note--off{color:#8a4b2b}

/* --- транспортные габариты в карточке товара --- */
.shipping-size{
    display:flex;flex-direction:column;gap:4px;margin:14px 0 0;padding:10px 14px;
    border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:var(--radius-sm);background:var(--bg-soft);
}
.shipping-size__value{font-size:14.5px;color:var(--ink)}
.shipping-size__note{font-size:12.5px;color:var(--muted);line-height:1.5}

/* --- варианты поставки: наличие в Питере, заказ из Китая, из Белоруссии --- */
.supply{margin:16px 0 0;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
.supply__head{padding:9px 14px;background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.supply__table{width:100%;border-collapse:collapse;font-size:14.5px}
.supply__row td{padding:10px 14px;border-bottom:1px solid var(--line)}
.supply__row:last-child td{border-bottom:0}
.supply__row--stock{background:#f4faf6}
.supply__title{color:var(--ink)}
.supply__price{text-align:right;white-space:nowrap;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.supply__lead{color:var(--muted);white-space:nowrap;font-size:13.5px;font-variant-numeric:tabular-nums}
.supply__note{padding:9px 14px;background:var(--bg-soft);border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);line-height:1.5}
@media (max-width:560px){
    .supply__row td{padding:9px 10px;font-size:13.5px}
    .supply__place{display:none}
}

/* --- админка: таблица сообщений об ошибках --- */
.admin-nowrap{white-space:nowrap}
.admin-pre{white-space:pre-line;max-width:460px;line-height:1.5}

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

/* --- выбор варианта поставки в карточке --- */
.supply__pick{padding:10px 6px 10px 14px}
.supply__pick label{display:flex;align-items:center;gap:8px;cursor:pointer}
.supply__pick input{margin:0;flex:0 0 auto}
.buy__row{display:flex;align-items:center;gap:14px;margin-top:14px}

/* --- вариант поставки в корзине и счёте --- */
.cart__option{display:flex;flex-direction:column;gap:4px;margin:8px 0 6px;font-size:12.5px;color:var(--muted)}
.cart__option select{max-width:100%;font-size:13px;padding:6px 8px}
.inp--sm{padding:6px 8px;font-size:13px}
.invoice__option{display:block;margin-top:3px;font-size:11px;color:#5a6f85}

/* --- ловушки для парсеров: не видны человеку, видны скрипту, обходящему ссылки --- */
.trap-links{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
