/* SavePiner — дизайн-система v4 «Витрина» (22.10.2026, designer). Замена style-v3.css целиком.
   Подключение: assets/php/sp-v4-head.php последней строкой перед </head> (вместо sp-v3-head.php).
   Внутри: база v3 (приведение 300 страниц старой темы к одному виду) с токенами v4 + разделы 24–31 v4.
   Один цвет действия, цена цветом текста, тёмная тема выключена. НЕ трогает .ad-slot и РСЯ, офферы
   (top-offers, sticky-offer, domrf, offers-sp, popoffers), SpeShu (edu-promo, spx-promo).
   Откат: вернуть подключение sp-v3-head.php. */

/* ── 1. Шрифт: Golos Text variable, свои файлы, 3 подмножества (₽ — в latin-ext) ── */
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:400 900;
  src:url(/assets/fonts/golos-text-cyrillic-wght-normal.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:400 900;
  src:url(/assets/fonts/golos-text-latin-ext-wght-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Golos Text';font-style:normal;font-display:swap;font-weight:400 900;
  src:url(/assets/fonts/golos-text-latin-wght-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── 2. Токены. Старые имена v2 переназначены, чтобы инлайн-стили страниц (var(--red), var(--glass)…) сами перешли в новую систему ── */
:root{
  /* цвет: лист (белый), стол (серый лоток), графит, красная ручка */
  --ds-paper:#FFFFFF;      /* фон страницы и карточек */
  --ds-desk:#F3F4F6;       /* лотки с карточками, подвал */
  --ds-ink:#16181D;        /* текст 17,9:1 на белом */
  --ds-ink-2:#4B5261;      /* второй текст 7,35:1 */
  --ds-line:#E3E6EA;       /* разделители */
  --ds-line-2:#C9CED6;     /* контуры полей и вторых кнопок */
  --ds-act:#C21E3A;        /* единственный акцент: действие «Скачать / Купить / Пройти» (белый текст 4,96:1) */
  --ds-act-hover:#A8172F;
  --ds-act-ink:#FFFFFF;
  --ds-link:#A8172F;       /* ссылки в тексте 6,83:1 */
  --ds-act-wash:#FCEBEE;   /* выбранный чип, подсветка */
  --ds-ok:#16181D;         /* «бесплатно», галочки 5,47:1 */
  --ds-warn:#4B5261;
  --ds-grid:transparent;    /* клетка тетради */
  --ds-margin:transparent;  /* поля тетради */
  /* шрифт и шкала */
  --ds-font:'Golos Text',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ds-h1:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);   /* 28 px на 390, 40 px на 1440 */
  --ds-h2:clamp(1.375rem,1.2rem + .8vw,1.75rem);  /* 22 → 28 px */
  --ds-h3:1.125rem;                               /* 18 px */
  --ds-body:1rem;                                 /* 16 px, статьи 17 px */
  --ds-small:.875rem;                             /* 14 px */
  --ds-chip:.8125rem;                             /* 13 px — меньше не бывает */
  /* отступы: шаг 4 px */
  --ds-s1:4px;--ds-s2:8px;--ds-s3:12px;--ds-s4:16px;--ds-s5:24px;--ds-s6:32px;--ds-s7:48px;--ds-s8:64px;
  /* радиусы: карточки 12, кнопки и поля 10, чипы — капсула */
  --ds-r:12px;--ds-r-ctl:10px;--ds-r-pill:999px;
  /* тени: только лист А4 (превью) и всплывающие слои */
  --ds-shadow-paper:0 1px 2px rgba(21,23,28,.10),0 10px 24px -14px rgba(21,23,28,.30);
  --ds-shadow-pop:0 16px 40px -18px rgba(21,23,28,.35);
  /* высоты */
  --ds-ctl:48px;--ds-ctl-lg:56px;--header-h:56px;--tap:44px;

  /* переназначение токенов v2 */
  --bg:var(--ds-paper);--bg2:var(--ds-paper);--glass:var(--ds-paper);--glass2:var(--ds-desk);
  --border:var(--ds-line);--border2:var(--ds-line-2);
  --text:var(--ds-ink);--muted:var(--ds-ink-2);--muted2:#2E333D;--faint:#5A6170;
  --red:var(--ds-act);--red-dark:var(--ds-act-hover);--red-light:var(--ds-act-wash);--red-glow:rgba(194,30,58,.20);
  --accent:var(--ds-act);--ember:var(--ds-act);--ember-glow:rgba(194,30,58,.18);--ring-c:rgba(194,30,58,.22);
  --green:var(--ds-ok);--green-dark:#16181D;--amber:var(--ds-warn);
  --font:var(--ds-font);--font-display:var(--ds-font);
  --radius:var(--ds-r);--radius-sm:var(--ds-r-ctl);--radius-xs:8px;
  --shadow-xs:none;--shadow-sm:none;--shadow-md:var(--ds-shadow-pop);--shadow-lg:var(--ds-shadow-pop);
}
/* тёмная тема выключена в v4 (22.10.2026): у 109 страниц свои стили, читаемость не гарантирована */

/* ── 3. База ── */
html{-webkit-text-size-adjust:100%}
body{font-family:var(--ds-font);font-size:var(--ds-body);line-height:1.6;background:var(--ds-paper);color:var(--ds-ink)}
.hero-bg{display:none}
h1,h2,h3,h4{font-family:var(--ds-font);color:var(--ds-ink);letter-spacing:-.015em;text-wrap:balance}
h1{font-size:var(--ds-h1);line-height:1.12;font-weight:800}
h2{font-size:var(--ds-h2);line-height:1.2;font-weight:750}
h3{font-size:var(--ds-h3);line-height:1.3;font-weight:700}
/* одно слово заголовка цветом или курсивом — приём шаблонов; заголовок целиком одним цветом */
body h1 em,body h1 i:not([class]),body .hero h1 em,body .section h2 em,body .section h1 em{font-style:normal;color:inherit}
a{color:var(--ds-link)}
:focus-visible{outline:2px solid var(--ds-act);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ── 4. Шапка: одна на все типы страниц ── */
body .site-header{background:var(--ds-paper);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--ds-line);padding:0 16px}
body .header-inner{height:var(--header-h);gap:10px}
body .logo-div,body .logo-tk{display:none}
body .site-logo{height:28px;border-radius:7px}
body .logo-pi{font-size:1.2rem;font-weight:800;letter-spacing:-.02em;color:var(--ds-ink);gap:5px}
body .logo-pi span{color:var(--ds-act)}
body .logo-pi i{color:var(--ds-act)}
body .header-nav>a,body .nav-dd-btn{color:var(--ds-ink-2);font-weight:600;font-size:.9rem;padding:0 9px;min-height:40px;border-radius:8px}
body .header-nav>a:hover,body .nav-dd:hover>.nav-dd-btn,body .nav-dd:focus-within>.nav-dd-btn{background:var(--ds-desk);color:var(--ds-ink)}
/* текущий раздел — подчёркивание красной ручкой */
body .header-nav>a.active{background:transparent;color:var(--ds-ink);box-shadow:inset 0 -2px 0 var(--ds-act);border-radius:0}
body .nav-dd-menu{border-radius:var(--ds-r);box-shadow:var(--ds-shadow-pop);border-color:var(--ds-line)}
body .nav-dd-menu a{border-radius:8px;font-size:.92rem}
body .nav-dd-menu a i{color:var(--ds-ink-2)}
body .nav-dd-menu .nav-dd-h{text-transform:none;letter-spacing:0;font-size:.8125rem;color:var(--ds-ink-2);font-weight:700}
body .flag-icon{display:none}
body .lang-switch{background:transparent;border:0;padding:0;gap:0}
body .lang-switch a{min-height:36px;padding:0 7px;font-size:.78rem;font-weight:700;color:var(--ds-ink-2);border-radius:8px;box-shadow:none}
body .lang-switch a.active{background:transparent;color:var(--ds-ink);box-shadow:inset 0 -2px 0 var(--ds-act);border-radius:0}
body .mobile-menu-btn{border-radius:var(--ds-r-ctl);border-color:var(--ds-line-2);background:var(--ds-paper)}
body .tg-head{width:36px;height:36px}

/* ── 5. Крошки: одна строка, текущая страница не повторяет H1 жирным ── */
body .breadcrumbs{font-size:.8125rem;padding:12px 16px 0;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;color:var(--ds-ink-2)}
body .breadcrumbs a{color:var(--ds-ink-2);min-height:32px;flex:0 0 auto}
body .breadcrumbs span{margin:0 5px;flex:0 0 auto}
body .breadcrumbs strong{font-weight:400;color:var(--ds-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:none}
/* крошки внутри .section (страницы шаблонов Lava) не добавляют свой верхний отступ */
body .section>.breadcrumbs:first-child{padding:0 0 10px;margin-top:-28px}

/* ── 6. Шапка страницы: H1 + лид. Телефон — всё по левому краю; ПК — инструменты и подборки по центру, материалы слева ── */
body .hero{padding:32px 16px 16px}
body .hero h1{margin-bottom:12px}
body .hero>p,body .hero-copy>p,.ds-lead{font-size:1.0625rem;line-height:1.55;color:var(--ds-ink-2)}
.ds-lead{max-width:640px;margin:8px 0 20px}
@media (min-width:761px){
  body .hero{padding:44px 20px 20px}
  .ds-c{text-align:center}
  .ds-lead.ds-c{margin-left:auto;margin-right:auto}
}
@media (max-width:760px){
  body .hero,body .hero:not(.hero-v2){text-align:left}
  body .hero>p,body .hero-copy>p{margin-left:0;margin-right:0}
  body .hero .tabs,body .hero:not(.hero-v2) .tabs{margin-left:0;margin-right:0}
  body .hero .input-wrap{margin-left:0;margin-right:0}
  body .trust-row,body .counter-line{justify-content:flex-start;text-align:left}
  body .quick-paste{text-align:left}
  body .hero-grid{text-align:left}
  body .hero-grid .tabs{justify-content:flex-start;margin-left:0;margin-right:0}
  body .hero-grid .input-wrap{margin-left:0;margin-right:0}
  body .hero-grid .counter-line,body .hero-grid .trust-row,body .hero-grid .platform-row{justify-content:flex-start}
  body .hero-grid .quick-paste{text-align:left}
  body .section>h1,body .section>h1[style],body .hero>h1[style]{text-align:left!important}
  body .section>h1+p[style],body .hero>h1[style]+p[style]{text-align:left!important;margin-left:0!important;margin-right:0!important}
}
body .section h2{text-align:left}
body .section{padding:36px 16px}
@media (min-width:761px){body .section{padding:44px 20px}}

/* ── 7. Кнопки. Одна главная (красная) на блок; остальные — вторые (белые с контуром) ── */
.ds-btn,
body .input-box button,
body .dl-first-btn,
body .cta-block .dl-btn,
body .shab-btn,
body .qz-btn,
body .kc a.kd,body .klb .klbd,
body .rk-btn-main,body .rk-go,
body .spx-btn,body .spx2-btn,
body .article .rasp-btn,
body .article .nb-btn,body .article .oboi-dl{
  background:var(--ds-act);background-image:none;color:var(--ds-act-ink);border:0;border-radius:var(--ds-r-ctl);
  min-height:var(--ds-ctl);font-family:var(--ds-font);font-weight:650;box-shadow:none;filter:none;text-decoration:none}
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;font-size:1rem;line-height:1.2;cursor:pointer}
.ds-btn:hover,body .input-box button:hover,body .dl-first-btn:hover,body .cta-block .dl-btn:hover,body .shab-btn:hover,
body .qz-btn:hover,body .kc a.kd:hover,body .rk-go:hover,body .rk-btn-main:hover,body .spx-btn:hover,body .spx2-btn:hover,
body .article .rasp-btn:hover{background:var(--ds-act-hover);color:var(--ds-act-ink);filter:none;transform:none}
/* вторые кнопки */
.ds-btn--sec,
body .shab-btn.ghost,body .qz-btn.ghost,
body .article .rasp-btn.alt,
body .kzip,body .kc a.kp,
body .rk-btn-sec,
body .quick-paste button,
body .res-botcta a,
body .dl-first-btn~.dl-first-btn{
  background:var(--ds-paper);background-image:none;color:var(--ds-ink);border:1.5px solid var(--ds-line-2);border-radius:var(--ds-r-ctl);
  min-height:var(--ds-ctl);font-weight:650;box-shadow:none;filter:none;text-decoration:none}
.ds-btn--sec:hover,body .shab-btn.ghost:hover,body .qz-btn.ghost:hover,body .article .rasp-btn.alt:hover,body .kzip:hover,
body .kc a.kp:hover,body .rk-btn-sec:hover,body .quick-paste button:hover,body .res-botcta a:hover,body .dl-first-btn~.dl-first-btn:hover{
  background:var(--ds-desk);border-color:var(--ds-ink-2);color:var(--ds-ink)}
body .shab-btn.ghost,body .dl-first-btn~.dl-first-btn,body .article .rasp-btn.alt{color:var(--ds-ink)!important}
/* в карточке файла статьи красная только первая кнопка, остальные форматы — вторые */
body .article .rasp-btn~.rasp-btn{background:var(--ds-paper);background-image:none;color:var(--ds-ink)!important;border:1.5px solid var(--ds-line-2)}
body .article .rasp-btn~.rasp-btn:hover{background:var(--ds-desk);border-color:var(--ds-ink-2)}
body .kzip i,body .res-botcta a i{color:var(--ds-ink-2)}
.ds-btn--block{display:flex;width:100%}
.ds-btn i,.ds-btn svg{font-size:.95em}

/* ── 8. Тетрадный лист: поверхность главного действия (скачать сразу, старт теста, карточка продукта) ──
   Лист — ближайший контейнер кнопок: скрипт офферов на учительских страницах ставит полосу «Учитель»
   после этого контейнера, поэтому реклама оказывается под листом, а не на нём. */
.ds-pad,body .dl-first-row,body .qz-box,.ds-tiers,body .buybox{
  position:relative;background-color:var(--ds-paper);
  background-image:linear-gradient(var(--ds-grid) 1px,transparent 1px),linear-gradient(90deg,var(--ds-grid) 1px,transparent 1px);
  background-size:20px 20px;background-position:-1px -1px;
  border:1px solid var(--ds-line-2);border-radius:var(--ds-r);box-shadow:none}
.ds-pad::after,body .dl-first-row::after,body .qz-box::after,.ds-tiers::after,body .buybox::after{
  content:"";position:absolute;top:0;bottom:0;right:24px;width:1.5px;background:var(--ds-margin);pointer-events:none}
.ds-pad{padding:16px 40px 16px 16px;margin:16px 0 24px}
body .dl-first{background:transparent;border:0;padding:0;margin:16px 0 24px;border-radius:0}
body .dl-first-t{font-size:1rem;font-weight:750;margin-bottom:8px;color:var(--ds-ink)}
body .dl-first-row{display:grid;grid-template-columns:1fr;gap:8px;padding:16px 40px 16px 16px}
body .dl-first-btn{display:flex;justify-content:center;width:100%;padding:0 16px;font-size:1rem}
body .dl-first-n{font-size:var(--ds-small);opacity:1;color:var(--ds-ink-2);margin-top:10px}
@media (min-width:561px){body .dl-first-row{grid-template-columns:repeat(auto-fit,minmax(200px,max-content))}}

/* ── 9. Карточки: белый лист с рамкой 1 px, радиус 12, без теней и прыжков ── */
body .card-link,body .blog-card,body .test-card,body .tg-card,body .prod-card,body .cat-card,body .kh,body .kc,
body .spx-link,body .spx2-link,body .article .rasp-card,body .rp-list a,body .next-step,.ds-card{
  background:var(--ds-paper);border:1px solid var(--ds-line);border-radius:var(--ds-r);box-shadow:none;transform:none;color:var(--ds-ink)}
body .card-link:hover,body .blog-card:hover,body .test-card:hover,body .tg-card:hover,body .prod-card:hover,body .kh:hover,
body .spx-link:hover,body .spx2-link:hover,body .rp-list a:hover{border-color:var(--ds-ink-2);transform:none;box-shadow:none}
body .card-link i{background:var(--ds-desk);color:var(--ds-ink)}
body .card-link .arrow{color:var(--ds-link)}
body .tg-card p,body .kh p,body .prod-card p,body .cat-card p,body .card-link p{color:var(--ds-ink-2)}
body .tg-card h2{color:var(--ds-ink);font-size:1.0625rem;text-align:left}
body .tg-emoji{display:none}
body .tg-card img.qz-cover{border-radius:8px;height:auto;aspect-ratio:16/9}
body .prod-card .price,body .kh .khm{color:var(--ds-ink);font-weight:700;font-variant-numeric:tabular-nums}
/* лоток: сетки карточек лежат на сером столе */
body .kg,body .khub,body .tg-grid,body .prod-grid,body .article .rasp-grid,.ds-tray{
  background:var(--ds-desk);border-radius:var(--ds-r);padding:12px;gap:12px}
/* превью листа А4 — лист бумаги с тенью */
body .kc a.kv{background:var(--ds-desk);padding:10px 10px 0}
body .kc img,body .article .rasp-card img,.ds-sheet img,.ds-sheet{border-radius:2px;box-shadow:var(--ds-shadow-paper);background:#fff}
body .kc .kb{padding:10px}
body .kc .kt{color:var(--ds-ink-2);font-size:var(--ds-small)}
body .kc .ks{color:var(--ds-ink-2);font-size:var(--ds-chip)}
body .kc a.kd{min-height:44px;font-size:.875rem;border-radius:var(--ds-r-ctl);white-space:nowrap;padding:0 8px}
body .kdr a.kd i{display:none}
body .kc a.kp{min-height:44px;font-size:.875rem}
body .article .rasp-note{color:var(--ds-ink-2)}
body .article .rasp-name{color:var(--ds-ink)}

/* ── 10. Чипы и фильтры ── */
.ds-chip,body .rtop a,body .krel a,body .fmt{
  display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:var(--ds-r-pill);
  border:1px solid var(--ds-line-2);background:var(--ds-paper);color:var(--ds-ink);font-size:var(--ds-chip);font-weight:600;text-decoration:none;line-height:1.2}
body .rtop a.on,body .rtop a:hover,body .krel a:hover,.ds-chip.on{border-color:var(--ds-act);background:var(--ds-act-wash);color:var(--ds-ink)}
body .rtop{justify-content:flex-start}
@media (min-width:761px){body .rtop{justify-content:center}}
body .fmt{min-height:30px;padding:0 12px;background:var(--ds-desk);border-color:transparent}

/* ── 11. Текст материала ── */
body .article{max-width:720px}
body .article p,body .article li{color:var(--ds-ink);font-size:1.0625rem;line-height:1.7}
body .article h1{font-size:var(--ds-h1);margin-bottom:16px}
body .article h2{font-size:var(--ds-h2);margin:44px 0 14px}
body .article h3{font-size:var(--ds-h3);margin:28px 0 10px}
body .article a{color:var(--ds-link);text-decoration-color:rgba(168,23,47,.35)}
body .article ul>li::marker{color:var(--ds-act)}
/* нумерованный список = шаги */
body .article>ol:not([class]),.ds-steps{list-style:none;padding-left:0;counter-reset:ds}
body .article>ol:not([class])>li,.ds-steps>li{counter-increment:ds;position:relative;padding-left:44px;margin:0 0 14px;min-height:32px}
body .article>ol:not([class])>li::before,.ds-steps>li::before{
  content:counter(ds);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;
  border:2px solid var(--ds-act);color:var(--ds-act);font-weight:800;font-size:.9375rem;line-height:26px;text-align:center;font-variant-numeric:tabular-nums}
.ds-steps>li b:first-child,.ds-steps>li strong:first-child{display:block;margin-bottom:2px}
/* чек-лист — квадратики, как в распечатке */
.ds-check{list-style:none;padding-left:0}
.ds-check>li{position:relative;padding-left:34px;margin:0 0 10px}
.ds-check>li::before{content:"";position:absolute;left:0;top:.3em;width:18px;height:18px;border:2px solid var(--ds-ink-2);border-radius:4px;background:var(--ds-paper)}
/* таблицы */
body .article table,body .article .sp-tab{border-collapse:separate;border-spacing:0;border:1px solid var(--ds-line);border-radius:var(--ds-r);font-size:.9375rem}
body .article th,body .article td,body .article .sp-tab th,body .article .sp-tab td{border:0;border-bottom:1px solid var(--ds-line);padding:10px 12px}
body .article th,body .article .sp-tab th{background:var(--ds-desk);color:var(--ds-ink);font-weight:700}
body .article tr:last-child>td{border-bottom:0}
/* врезки */
body .article blockquote,body .article .sp-obr,.ds-note{border:0;border-radius:var(--ds-r);background:var(--ds-desk);padding:14px 16px;color:var(--ds-ink);margin:16px 0}
body .article .idea-list li{border:1px solid var(--ds-line);border-left:1px solid var(--ds-line);background:var(--ds-paper);color:var(--ds-ink)}
body .article figure.ill img,body .article .blog-img,body .article .sp-cover img{border-radius:var(--ds-r)}
body .article figcaption{color:var(--ds-ink-2);opacity:1;font-size:var(--ds-small)}
body .article .rasp-online{background:var(--ds-paper);background-image:none;color:var(--ds-ink)!important;border:1.5px solid var(--ds-line-2);border-radius:var(--ds-r);text-decoration:none}
body .article a.rasp-online b,body .article a.rasp-online span{text-decoration:none;color:var(--ds-ink)}
body .article a.rasp-online span{color:var(--ds-ink-2);opacity:1}
body .article .rasp-badge{background:var(--ds-desk);color:var(--ds-ink)}
body .article .next-step a[style]{background:var(--ds-desk)!important;color:var(--ds-ink)!important}

/* ── 12. Вопросы-ответы: один вид для .faq-item, details (.blog-faq, .shab-faq, .ds-faq) ── */
body .faq-list{max-width:720px;margin:0}
body .faq-item{background:transparent;border:0;border-bottom:1px solid var(--ds-line);border-radius:0;margin:0;box-shadow:none}
body .faq-item:first-child{border-top:1px solid var(--ds-line)}
body .faq-item.open{box-shadow:none}
body .faq-q{padding:14px 0;min-height:52px;font-weight:650;font-size:1rem;color:var(--ds-ink)}
body .faq-q:hover{background:transparent;color:var(--ds-link)}
body .faq-q i{background:var(--ds-desk);color:var(--ds-ink)}
body .faq-a{padding:0 0 16px;color:var(--ds-ink-2);font-size:1rem}
body .blog-faq details,body .shab-faq details,.ds-faq details{background:transparent;border:0;border-bottom:1px solid var(--ds-line);border-radius:0;padding:0;margin:0}
body .blog-faq details:first-of-type,body .shab-faq details:first-of-type,.ds-faq details:first-of-type{border-top:1px solid var(--ds-line)}
body .blog-faq summary,body .shab-faq summary,.ds-faq summary{min-height:52px;padding:14px 32px 14px 0;font-weight:650;cursor:pointer;list-style:none;position:relative;color:var(--ds-ink)}
body .blog-faq summary::-webkit-details-marker,body .shab-faq summary::-webkit-details-marker,.ds-faq summary::-webkit-details-marker{display:none}
body .blog-faq summary::after,body .shab-faq summary::after,.ds-faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.25rem;font-weight:500;color:var(--ds-ink-2)}
body .blog-faq details[open] summary::after,body .shab-faq details[open] summary::after,.ds-faq details[open] summary::after{content:"−"}
body .blog-faq details p,body .shab-faq details p,.ds-faq details p{color:var(--ds-ink-2);margin:0 0 16px}
.ds-faq h2{margin-top:44px}

/* ── 13. Содержание длинного материала ── */
.ds-toc{border:1px solid var(--ds-line);border-radius:var(--ds-r);margin:20px 0 8px;background:var(--ds-paper)}
.ds-toc summary{min-height:48px;padding:12px 40px 12px 16px;font-weight:650;cursor:pointer;list-style:none;position:relative;color:var(--ds-ink)}
.ds-toc summary::-webkit-details-marker{display:none}
.ds-toc summary::after{content:"+";position:absolute;right:16px;top:10px;font-size:1.25rem;color:var(--ds-ink-2)}
.ds-toc[open] summary::after{content:"−"}
body .article .ds-toc ol{list-style:none;padding:0 16px 12px;margin:0;counter-reset:none}
body .article .ds-toc li{margin:0;padding:0;font-size:.9375rem;line-height:1.35}
body .article .ds-toc li::before{content:none}
body .article .ds-toc a{display:block;padding:8px 0;color:var(--ds-ink);text-decoration:none;border-top:1px solid var(--ds-line)}

/* ── 14. Карточка продукта (Lite бесплатно / Pro за деньги) ── */
.ds-product{margin:16px 0 24px}
.ds-tiers{display:grid;grid-template-columns:1fr;gap:12px;padding:16px 40px 16px 16px}
.ds-tier{background:var(--ds-paper);border:1px solid var(--ds-line);border-radius:var(--ds-r);padding:14px;display:flex;flex-direction:column;gap:8px}
.ds-tier--pro{border-color:var(--ds-act)}
.ds-tier-name{font-weight:750;font-size:1rem;color:var(--ds-ink)}
.ds-price{font-size:1.75rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--ds-ink)}
.ds-price--free{font-size:1.375rem;color:var(--ds-ok)}
.ds-price small{font-size:.875rem;font-weight:600;color:var(--ds-ink-2)}
.ds-tier .ds-btn{margin-top:auto;width:100%}
.ds-product-note{font-size:var(--ds-small);color:var(--ds-ink-2);margin:12px 0 0}
.ds-fmts{display:flex;flex-wrap:wrap;gap:6px}
@media (min-width:561px){.ds-tiers{grid-template-columns:1fr 1fr}}
/* старые страницы шаблонов без патча: блок .buybox выглядит как карточка продукта */
body .buybox{padding:16px 40px 16px 16px;display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0 24px}
body .buybox .shab-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:0 16px;font-size:1rem}
body .buybox .shab-btn:not(.ghost){order:-1}
@media (min-width:561px){body .buybox{grid-template-columns:1fr 1fr}body .buybox .shab-btn:not(.ghost){order:0}}
body .shab-wrap{max-width:720px}
body .shab-wrap h1{font-size:var(--ds-h1);line-height:1.12;margin:4px 0 12px}
body .shab-wrap>p{color:var(--ds-ink);font-size:1.0625rem;line-height:1.65}
body .shab-wrap h2{font-size:var(--ds-h2);margin:40px 0 12px}
body .gallery{background:var(--ds-desk);border-radius:var(--ds-r);padding:10px;gap:10px}
body .gallery img{border-radius:4px;box-shadow:var(--ds-shadow-paper);background:#fff;object-fit:cover}
body .shab-note{color:var(--ds-ink-2)}

/* ── 15. Тест ── */
body .qz-box{padding:20px 40px 20px 20px;max-width:680px}
body .qz-intro{color:var(--ds-ink);font-size:1rem}
body .qz-bar{background:var(--ds-desk);height:6px}
body .qz-bar i{background:var(--ds-act)}
body .qz-q{color:var(--ds-ink);font-size:1.0625rem;font-weight:750}
body .qz-opts button{background:var(--ds-paper);color:var(--ds-ink);border:1.5px solid var(--ds-line-2);border-radius:var(--ds-r-ctl);min-height:52px;font-size:1rem}
body .qz-opts button:hover{background:var(--ds-act-wash);border-color:var(--ds-act)}
body .qz-opts button.sel{background:var(--ds-act-wash);border-color:var(--ds-act);transform:none}
body .qz-desc{color:var(--ds-ink)}
body .qz-sub{color:var(--ds-ink-2)}
body .qz-adv div{background:var(--ds-paper);border-color:var(--ds-line);color:var(--ds-ink)}
body .qz-adv b{color:var(--ds-ink)}
body .qz-heroes img{border-color:var(--ds-paper);box-shadow:var(--ds-shadow-paper)}
.ds-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}

/* ── 16. Инструменты (конструктор, прописи, фото на документы, скачиватель) ── */
body .glass-input{border-radius:var(--ds-r);border:1.5px solid var(--ds-line-2);box-shadow:none;padding:6px}
body .glass-input:focus-within{border-color:var(--ds-act);box-shadow:0 0 0 3px var(--ring-c)}
body .input-box input{min-height:var(--ds-ctl)}
body .input-box button{min-height:var(--ds-ctl);padding:0 20px;font-size:1rem}
body .tabs{border-radius:var(--ds-r);background:var(--ds-desk);border-color:transparent}
body .tab-btn{border-radius:8px;color:var(--ds-ink-2)}
body .tab-btn.active{background:var(--ds-paper);color:var(--ds-ink);box-shadow:inset 0 0 0 1px var(--ds-line-2)}
body .trust-row i{color:var(--ds-ok)}
body .rk-seg{border-color:var(--ds-line-2);border-radius:var(--ds-r-ctl)}
body .rk-seg button.on{background:var(--ds-ink);color:var(--ds-paper)}
body .rk-check input{accent-color:var(--ds-act)}
body .rk-field label{color:var(--ds-ink-2);font-size:var(--ds-chip);letter-spacing:0}
body .rk-field input[type=text],body .rk-field select,body .rk-field textarea{background:var(--ds-paper);border:1.5px solid var(--ds-line-2);border-radius:var(--ds-r-ctl)}
body .rk-btn{border-radius:var(--ds-r-ctl)}

/* ── 17. Концы страницы: призыв, перелинковка, примечание, подвал ── */
body .cta-block{background:var(--ds-desk);border:0;border-radius:var(--ds-r);box-shadow:none;text-align:left;padding:20px}
body .cta-block::before{content:none}
body .cta-block p{color:var(--ds-ink-2)}
body .related-posts{border-top:1px solid var(--ds-line)}
body .rp-list a{font-weight:600;transform:none}
body .rp-list a i{color:var(--ds-ink-2)}
body .disclaimer{text-align:left;border-color:var(--ds-line);color:var(--ds-ink-2);margin-left:auto;margin-right:auto}
body .klic{background:var(--ds-desk);border:0;color:var(--ds-ink-2)}
body .klic i{color:var(--ds-ok)}
body .site-footer{background:var(--ds-desk);border-top:1px solid var(--ds-line);margin-top:48px;padding:32px 16px 28px}
body .footer-links{justify-content:flex-start;gap:4px 20px}
body .footer-links a{color:var(--ds-ink);min-height:40px}
body .footer-copy{text-align:left;color:var(--ds-ink-2)}
body .footer-col h4{text-transform:none;letter-spacing:0;color:var(--ds-ink-2)}
@media (min-width:761px){body .site-footer .footer-inner{padding:0 4px}}

/* ── 18. Файл-карточка для текстов (писатель вставляет разметкой из ДИЗАЙН-СИСТЕМА.md) ── */
.ds-file{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start;background:var(--ds-paper);border:1px solid var(--ds-line);border-radius:var(--ds-r);padding:12px;margin:16px 0}
.ds-file .ds-sheet{display:block;aspect-ratio:210/297;width:96px;overflow:hidden}
.ds-file .ds-sheet img{width:100%;height:100%;object-fit:cover;box-shadow:none}
.ds-file-t{font-weight:700;color:var(--ds-ink);line-height:1.3;margin:0 0 6px}
.ds-file .ds-fmts{margin:0 0 10px}
.ds-file .ds-fmts span{font-size:var(--ds-chip);font-weight:600;color:var(--ds-ink-2);background:var(--ds-desk);border-radius:var(--ds-r-pill);padding:3px 10px}
.ds-file-acts{display:flex;flex-wrap:wrap;gap:8px}
.ds-file-acts .ds-btn{min-height:44px;padding:0 16px;font-size:.9375rem}
@media (min-width:561px){.ds-file{grid-template-columns:132px 1fr}.ds-file .ds-sheet{width:132px}}

/* ── 19. Лист раскраски (raskraski-list-template, 10 страниц): кнопки .ldl, превью, «весь набор» ── */
body .ldl{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;padding:16px 40px 16px 16px;border:1px solid var(--ds-line-2);border-radius:var(--ds-r);
  background-color:var(--ds-paper);background-image:linear-gradient(var(--ds-grid) 1px,transparent 1px),linear-gradient(90deg,var(--ds-grid) 1px,transparent 1px);background-size:20px 20px;background-position:-1px -1px}
body .ldl::after{content:"";position:absolute;top:0;bottom:0;right:24px;width:1.5px;background:var(--ds-margin);pointer-events:none}
body .ldl a{background:var(--ds-act);background-image:none;color:var(--ds-act-ink);border-radius:var(--ds-r-ctl);min-height:var(--ds-ctl);font-weight:650;font-size:.9375rem;filter:none}
body .ldl a:first-child{grid-column:1/-1}
body .ldl a.l2{background:var(--ds-paper);color:var(--ds-ink);border:1.5px solid var(--ds-line-2)}
body .ldl a:hover{background:var(--ds-act-hover);filter:none}
body .ldl a.l2:hover{background:var(--ds-desk);border-color:var(--ds-ink-2)}
body .limg{border-radius:var(--ds-r);border-color:var(--ds-line);background:var(--ds-desk);padding:10px}
body .limg img{box-shadow:var(--ds-shadow-paper);border-radius:2px;background:#fff}
body .lpack{border:0;background:var(--ds-desk);border-radius:var(--ds-r);color:var(--ds-ink-2)}
body .lpack a{color:var(--ds-link)}

/* ── 20. Узкие телефоны (360–420 px): коллаж героев теста внутри листа, шапка без обрезки логотипа ── */
@media (max-width:420px){
  body .qz-box{padding:16px 34px 16px 14px}
  body .qz-box::after{right:18px}
  body .qz-heroes img{width:60px;height:80px}
}
@media (max-width:380px){
  body .qz-heroes img{width:56px;height:74px}
  body .site-logo-wrap{display:none}
  body .header-inner{gap:6px}
}

/* ── 21. После приёмки превью 21.10: меню телефона, касание вариантов теста, переход по «Содержанию» ── */
/* группы «Скачать» и «Инструменты» в открытом меню телефона — подписи обычным регистром */
body .header-nav.open .nav-dd-btn{text-transform:none;letter-spacing:0;font-size:.875rem;color:var(--ds-ink-2)}
/* на касании :hover «залипает» на варианте под пальцем после «Пройти тест» — подсветка только у выбранного */
@media (hover:none){
  body .qz-opts button:hover:not(.sel){background:var(--ds-paper);border-color:var(--ds-line-2)}
}
/* раздел из «Содержания» и блок вопросов встают под липкую шапку, а не за неё */
body .article [id^="razdel-"],body #voprosy{scroll-margin-top:72px}
/* страница результата скачивания: «Скачать 720P (MP4)» — та же кнопка действия (в тёмной теме зелёная давала белому тексту ~2:1) */
body .result-dl-btn{background:var(--ds-act);color:var(--ds-act-ink);border-radius:var(--ds-r-ctl);font-family:var(--ds-font)}
body .result-dl-btn:hover{background:var(--ds-act-hover);filter:none;transform:none}

/* 21.10.2026 правки после critic (владелец сайта savepiner): первый экран инструментов на телефоне не ниже прода */
@media (max-width:600px){
  body .hero{padding:24px 16px 12px}
  body .hero>p,body .hero-copy>p,.ds-lead{font-size:.95rem;line-height:1.5}
}
/* фото на документы: кнопка скачивания, выбранный размер и ползунки — цвет действия v3 вместо градиента (контраст белого 3:1 → ≥4,5:1) */
body .fd-dl{background:var(--ds-act,#C21E3A);color:#fff}
body .fd-dl:hover{background:var(--ds-act-hover,#B81E33)}
body .fd-chips button.on{background:var(--ds-act,#C21E3A);border-color:var(--ds-act,#C21E3A);color:#fff}
body .fd-row input[type=range],body .fd-white .fd-sw input{accent-color:var(--ds-act,#C21E3A)}
body .fd-drop.hover{border-color:var(--ds-act,#C21E3A);background:rgba(194,30,58,.06)}
body .fd-drop i{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:var(--ds-act,#C21E3A);color:var(--ds-act,#C21E3A)}
/* прописи: между лидом и панелью генератора один отступ */
body .hero+.section.rk-wrap{padding-top:0;margin-top:0}

/* ── 22. 21.10 ~21:00 (designer, после повторной приёмки): «Ещё тесты» чипами, подписи картинок, первый экран страниц шаблонов ── */
.ds-more{margin:24px 0 12px}
.ds-more-t{font-weight:750;color:var(--ds-ink);margin:0 0 10px}
.ds-more-list{display:flex;flex-wrap:wrap;gap:8px}
body .article .ds-more-list a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:var(--ds-r-pill);border:1px solid var(--ds-line-2);background:var(--ds-paper);
  color:var(--ds-ink);font-size:var(--ds-small);font-weight:600;text-decoration:none;line-height:1.2}
body .article .ds-more-list a:hover{border-color:var(--ds-act);background:var(--ds-act-wash)}
body .article .ds-more-list a.ds-more-all{border-color:var(--ds-ink);font-weight:700}
/* подпись карточки картинки — не больше 2 строк; полное описание в alt */
/* страница шаблона Lava: заголовок товара короче по высоте (24 → 32 px), лид как у инструментов */
body .shab-wrap h1{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem)}
@media (max-width:600px){body .shab-wrap>h1+p{font-size:.95rem;line-height:1.5}}
/* карточка Lite/Pro на телефоне: две строки «цена — кнопка», Pro первой; высота ≈170 px вместо 308 */
@media (max-width:560px){
  .ds-tiers{padding:12px 34px 12px 12px;gap:8px}
  .ds-tier{flex-direction:row;align-items:center;gap:10px;padding:10px}
  .ds-tier--pro{order:-1}
  .ds-tier-name{display:none}
  .ds-price{flex:0 0 auto;font-size:1.375rem}
  .ds-price--free{font-size:1rem}
  .ds-tier .ds-btn{margin-top:0;width:auto;flex:1 1 auto;min-height:44px;padding:0 12px;font-size:.9375rem}
}

/* ── 23. 22.10 (designer, пак H): белый текст старой тёмной темы на белом листе. До v3 инструменты были тёмными, текст — белым;
   лист v3 белый, и подписи, вкладки, вторые кнопки пропали (critic 21.10: 1,0–1,6:1 на сжать фото, QR, водяном знаке, коллаже,
   конвертере, генераторе ников и на /ru/result/). Одно правило на все: внутри коробок старых инструментов текст, поля и рамки
   берут цвета листа, выбранный вариант — как чип v3, главная кнопка — цвет действия, вторые — белые с контуром. ── */
/* 1) встроенные стили «фон var(--glass) + белый текст» (кнопки «Только звук (MP3)» и «GIF из видео» на /ru/result/ и др.):
      --glass в v3 — белый лист, поэтому текст графитовый, рамка — контур второй кнопки */
body [style*="background:var(--glass)"][style*="color:#fff"]{color:var(--ds-ink)!important;border-color:var(--ds-line-2)!important;border-width:1.5px!important}
body [style*="background:var(--glass)"][style*="color:#fff"]:hover{background:var(--ds-desk)!important}
body [style*="background:var(--glass)"][style*="color:#fff"] i{color:var(--ds-ink-2)}
body :is(.section,.content-block,.article,main) [style*="solid rgba(255,255,255"]{border-color:var(--ds-line)!important}
/* 2) коробки старых инструментов: лист, графитовый текст, видимые рамки */
body :is(.sz-box,.qr-grid,.kv-box,.wm-box,.kl-box,.ng-box){background:var(--ds-paper);border-color:var(--ds-line);color:var(--ds-ink)}
body :is(.sz-box,.qr-tabs,.qr-grid,.kv-box,.wm-box,.kl-box,.ng-box) :is(p,span,strong,b,small,label,output,h3,li,div,td,th,a:not([class])){color:inherit;border-color:var(--ds-line-2)}
body :is(.sz-box,.qr-grid,.kv-box,.wm-box,.kl-box) :is([class$="-hint"],[class$="-priv"],[class$="-sub"],[class$="-tlabel"],h3){color:var(--ds-ink-2)}
body :is(.sz-box,.qr-grid,.kv-box,.wm-box,.kl-box,.ng-box) :is(input:not([type=range]):not([type=color]):not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){
  background:var(--ds-paper);color:var(--ds-ink);border:1.5px solid var(--ds-line-2)}
body :is(.sz-box,.qr-grid,.kv-box,.wm-box,.kl-box,.ng-box) :is(input,select,textarea)::placeholder{color:var(--ds-ink-2);opacity:1}
body :is(.sz-box,.qr-grid,.kv-box,.wm-box,.kl-box) :is(input[type=range],input[type=checkbox],input[type=radio]){accent-color:var(--ds-act)}
body :is(.sz-box,.qr-grid,.kv-box,.wm-box,.kl-box) input[type=color]{border-color:var(--ds-line-2)}
body :is(.sz-drop,.kv-drop,.wm-drop,.kl-drop){border-color:var(--ds-line-2);color:var(--ds-ink)}
body :is(.sz-drop,.kv-drop,.wm-drop,.kl-drop).hover{border-color:var(--ds-act);background:var(--ds-act-wash)}
body :is(.sz-cell,.kv-card){background:var(--ds-desk);border-color:var(--ds-line)}
body .kv-card img{background:var(--ds-paper)}
body .qr-preview{background:repeating-conic-gradient(var(--ds-desk) 0% 25%,transparent 0% 50%) 50%/22px 22px}
/* 3) варианты (вкладки, форматы, размеры, фон, сетки, положение): белые с контуром, выбранный — чип v3 */
body :is(.qr-tab,.qr-mini,.kv-targets button,.wm-tabs button,.wm-fmt button,.kl-sizes button,.kl-bg button,.ng-styles button){
  background:var(--ds-paper);background-image:none;color:var(--ds-ink);border:1.5px solid var(--ds-line-2)}
body :is(.qr-tab,.qr-mini,.kv-targets button,.wm-tabs button,.wm-fmt button,.kl-sizes button,.kl-bg button,.ng-styles button).on{
  background:var(--ds-act-wash);background-image:none;color:var(--ds-ink);border-color:var(--ds-act)}
body :is(.kl-grids button,.wm-pos button){background:var(--ds-paper);border:1.5px solid var(--ds-line-2)}
body .kl-grids rect{fill:var(--ds-line-2)}
body .kl-grids button.on{background:var(--ds-act-wash);border-color:var(--ds-act)}
body .kl-grids button.on rect{fill:var(--ds-act)}
body .wm-pos button.on{background:var(--ds-act);border-color:var(--ds-act)}
body .wm-box img.on{border-color:var(--ds-act)}
/* 4) главная кнопка инструмента — цвет действия без градиента; остальные — вторые кнопки */
body :is(.sz-dl,.kv-go,.kv-zip,.wm-dl,.kl-dl,.qr-png,.ng-go){background:var(--ds-act);background-image:none;color:var(--ds-act-ink);border:0;box-shadow:none;filter:none}
body :is(.sz-dl,.kv-go,.kv-zip,.wm-dl,.kl-dl,.qr-png,.ng-go):hover{background:var(--ds-act-hover);filter:none;transform:none}
body :is(.qr-svg,.sz-again,.kv-clear,.kv-dl,.wm-btn,.wm-logobtn,.kl-btn,.ng-nick button){
  background:var(--ds-paper);background-image:none;color:var(--ds-ink);border:1.5px solid var(--ds-line-2);box-shadow:none}
body :is(.qr-svg,.sz-again,.kv-clear,.kv-dl,.wm-btn,.wm-logobtn,.kl-btn,.ng-nick button):hover{background:var(--ds-desk);border-color:var(--ds-ink-2);color:var(--ds-ink)}
body .kv-item .kv-rm{color:var(--ds-ink-2)}
/* botfix-20261022: текст кнопок в статьях белый, а не цвет ссылки (checker: контраст 1,38:1 и 2,26:1) */
body .article a.ds-btn:not(.ds-btn--sec),body .article a.dl-btn,body .article a.dl-first-btn,body .article a.rasp-btn,body .article .ds-bot a[href*="t.me"]{color:#fff}

/* ════════════════════════════════════════════════════════════════════════════════════════════════
   v4 «Витрина» (22.10.2026, designer). Всё ниже дописано к базе v3 и перекрывает её.
   Один цвет действия #C21E3A, цена — цветом текста, жирно. Тёмная тема выключена. Шкала 5 размеров:
   13 · 15 · 17 · 20–24 · 28–40 px. Абзац не шире 36em (≈ 66 знаков Golos на 17 px).
   ════════════════════════════════════════════════════════════════════════════════════════════════ */

/* ── 24. Основа v4 ── */
:root{color-scheme:light;
  --ds-fs-1:.8125rem;--ds-fs-2:.9375rem;--ds-fs-3:1.0625rem;
  --ds-fs-4:clamp(1.25rem,1.1rem + .6vw,1.5rem);--ds-fs-5:clamp(1.75rem,1.35rem + 1.5vw,2.5rem);
  --ds-h1:var(--ds-fs-5);--ds-h2:var(--ds-fs-4);--ds-h3:var(--ds-fs-3);--ds-body:var(--ds-fs-3);--ds-small:var(--ds-fs-2);--ds-chip:var(--ds-fs-1);
  --ds-price:#16181D;--ds-measure:36em;--v4-wide:1180px}
html{background:var(--ds-paper)}
body{font-size:var(--ds-body);line-height:1.6;background:var(--ds-paper);color:var(--ds-ink)}
h3{font-size:var(--ds-h3)}
/* абзацы и списки — строка не длиннее ≈ 66 знаков */
body .article p,body .article li,body .article blockquote,body .article .sp-obr,body .sp-prose p,body .sp-prose li,body .shab-wrap>p,.ds-lead,body .hero>p,body .hero-copy>p,body .faq-a,body .blog-faq details p,body .shab-faq details p,.ds-faq details p,body .v4-store h2+p,body .cta-block p{max-width:var(--ds-measure)}
body .article .ds-toc li,body .article .rasp-card p,body .article .v4-card p,body .article .tz p,body .article .tz li{max-width:none}
/* старые правила тёмной темы style-v2 (светло-голубые ссылки, тёмный фон картинки героя) — в светлом виде */
@media (prefers-color-scheme:dark){
  body .res-botcta a{color:var(--ds-ink)}
  body .pq{color:var(--ds-link)}
  body .hero-art{background:var(--ds-desk)}
}
/* лист главного действия — без клетки и линии полей v3 */
.ds-pad,body .dl-first-row,body .qz-box,.ds-tiers,body .buybox,body .ldl{background-image:none;border-color:var(--ds-line)}
.ds-pad::after,body .dl-first-row::after,body .qz-box::after,.ds-tiers::after,body .buybox::after,body .ldl::after{content:none;display:none}
.ds-pad{padding:16px}
body .dl-first-row,.ds-tiers,body .buybox,body .ldl{padding:12px}
body .qz-box{padding:20px}
@media (max-width:420px){body .qz-box{padding:16px 14px}}
/* «бесплатно» и галочки — цветом текста, второго цвета нет */
.ds-price--free{color:var(--ds-price)}
body .trust-row i,body .klic i{color:var(--ds-ink-2)}

/* ── 25. Шапка v4 (site-header-bar-v4.php) ── */
body .site-header.v4h{position:sticky;top:0;z-index:1000;background:var(--ds-paper);border-bottom:1px solid var(--ds-line);padding:0 16px;box-shadow:none}
body .v4h .header-inner{max-width:var(--v4-wide);margin:0 auto;height:var(--header-h);display:flex;align-items:center;gap:6px;padding:0}
body .v4h .logo-group{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-right:10px;text-decoration:none;min-height:44px}
body .v4h .site-logo{width:28px;height:28px;border-radius:7px;display:block}
body .v4h .v4h-name{font-weight:800;font-size:1.1875rem;letter-spacing:-.02em;color:var(--ds-ink);line-height:1}
body .v4h .v4h-name span{color:var(--ds-act)}
body .v4h .v4h-bot{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:40px;padding:0 12px;border:1.5px solid var(--ds-line-2);border-radius:var(--ds-r-ctl);background:var(--ds-paper);color:var(--ds-ink);font-weight:650;font-size:var(--ds-fs-2);text-decoration:none;white-space:nowrap}
body .v4h .v4h-bot i{font-size:1.05rem;color:var(--ds-ink)}
body .v4h .v4h-bot:hover{background:var(--ds-desk);border-color:var(--ds-ink-2)}
body .v4h .mobile-menu-btn{width:44px;height:44px;flex:0 0 auto;border:1.5px solid var(--ds-line-2);border-radius:var(--ds-r-ctl);background:var(--ds-paper);color:var(--ds-ink);font-size:1.05rem;align-items:center;justify-content:center;cursor:pointer;margin:0}
body .v4h .lang-switch{display:flex;align-items:center;gap:0;background:transparent;border:0;padding:0}
body .v4h .lang-switch a{display:inline-flex;align-items:center;min-height:40px;padding:0 7px;font-size:var(--ds-fs-1);font-weight:700;color:var(--ds-ink-2);text-decoration:none;border-radius:6px;box-shadow:none;background:transparent}
body .v4h .lang-switch a.active{color:var(--ds-ink);box-shadow:inset 0 -2px 0 var(--ds-ink);border-radius:0}
body .v4h .nav-dd-menu{border:1px solid var(--ds-line);border-radius:var(--ds-r);box-shadow:var(--ds-shadow-pop);background:var(--ds-paper);padding:8px}
body .v4h .nav-dd-menu a{display:flex;align-items:center;min-height:40px;padding:0 10px;border-radius:8px;font-size:var(--ds-fs-2);color:var(--ds-ink);text-decoration:none;white-space:nowrap}
body .v4h .nav-dd-menu a:hover{background:var(--ds-desk)}
body .v4h .nav-dd-h{font-size:var(--ds-fs-1);font-weight:700;color:var(--ds-ink-2);text-transform:none;letter-spacing:0;padding:10px 10px 2px}
body .v4h .nav-dd-btn i{font-size:.7em;color:var(--ds-ink-2)}
@media (min-width:1100px){
  body .v4h .header-nav{display:flex;flex:1 1 auto;align-items:center;gap:2px;min-width:0;overflow:visible;padding:0;position:static;box-shadow:none;border:0;background:transparent}
  body .v4h .header-nav>a,body .v4h .nav-dd-btn{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 10px;border-radius:8px;font-size:var(--ds-fs-2);font-weight:600;color:var(--ds-ink);background:transparent;text-decoration:none;white-space:nowrap}
  body .v4h .header-nav>a:hover,body .v4h .nav-dd:hover>.nav-dd-btn,body .v4h .nav-dd:focus-within>.nav-dd-btn{background:var(--ds-desk);color:var(--ds-ink)}
  body .v4h .header-nav>a.active{background:transparent;box-shadow:inset 0 -2px 0 var(--ds-act);border-radius:0}
  body .v4h .nav-dd-menu.wide{min-width:460px;display:none;grid-template-columns:1fr 1fr;column-gap:8px}
  body .v4h .nav-dd:hover .nav-dd-menu.wide,body .v4h .nav-dd:focus-within .nav-dd-menu.wide{display:grid}
  body .v4h .nav-dd-menu.wide .nav-dd-h{grid-column:1/-1}
  body .v4h .lang-switch{margin-left:auto;position:static;box-shadow:none;background:transparent}
  body .v4h .mobile-menu-btn{display:none}
  body .v4h .v4h-bot{margin-left:6px}
}
@media (max-width:1099px){
  body .v4h .header-nav{display:none}
  body .v4h .mobile-menu-btn{display:inline-flex}
  body .v4h .v4h-bot{margin-left:auto}
  body .v4h .header-nav.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:var(--header-h);left:0;right:0;max-height:calc(100vh - var(--header-h));overflow-y:auto;background:var(--ds-paper);padding:4px 16px 24px;border-bottom:1px solid var(--ds-line);box-shadow:var(--ds-shadow-pop);z-index:1001}
  body .v4h .header-nav.open>a{order:-1;display:flex;align-items:center;width:100%;min-height:48px;padding:0 4px;font-size:var(--ds-fs-3);font-weight:650;color:var(--ds-ink);border-bottom:1px solid var(--ds-line);border-radius:0;text-decoration:none;margin:0;background:transparent;box-shadow:none}
  body .v4h .header-nav.open>a:last-of-type{border-radius:0;margin-bottom:0}
  body .v4h .header-nav.open>a.active{box-shadow:inset 3px 0 0 var(--ds-act);padding-left:12px}
  body .v4h .header-nav.open .nav-dd{width:100%}
  body .v4h .header-nav.open .nav-dd-btn{display:block;width:100%;min-height:0;margin:18px 0 4px;padding:0 4px;font-size:var(--ds-fs-1);font-weight:700;color:var(--ds-ink-2);text-transform:none;letter-spacing:0;pointer-events:none;background:transparent}
  body .v4h .header-nav.open .nav-dd-menu,body .v4h .header-nav.open .nav-dd-menu.wide{display:grid;position:static;grid-template-columns:1fr 1fr;gap:0 8px;padding:0;border:0;box-shadow:none;min-width:0;background:transparent;animation:none}
  body .v4h .header-nav.open .nav-dd-menu a{min-height:44px;padding:0 4px;font-size:var(--ds-fs-2);white-space:normal;line-height:1.25;border-radius:0}
  body .v4h .header-nav.open .nav-dd-menu .nav-dd-h{display:block;grid-column:1/-1;padding:10px 4px 0}
  body .v4h .header-nav.open .lang-switch{margin:18px 0 0;align-self:flex-start}
}
@media (max-width:380px){
  body .v4h .site-logo{display:none}
  body .v4h .v4h-bot{padding:0 10px}
}
/* плавающая кнопка бота из app.js — нейтральная, без синего; при правой колонке с ботом не нужна */
body .tg-fab{background:var(--ds-paper);color:var(--ds-ink);border:1.5px solid var(--ds-line-2);box-shadow:var(--ds-shadow-pop);height:44px;padding:0 14px 0 12px;font-size:1.1rem}
body .tg-fab:hover{color:var(--ds-ink);transform:none;background:var(--ds-desk)}
body .tg-fab .tgf-lbl{font-size:var(--ds-fs-2);font-weight:650;letter-spacing:0}
body:has(.v4h-bot) .tg-fab{display:none}
/* блок «Приложение и бот» (app-promo.php): белые карточки, значки графитом, «Открыть бота» — действие, «Установить» — вторая */
body .ap-card{background:var(--ds-paper);border:1px solid var(--ds-line);border-radius:var(--ds-r);box-shadow:none}
body .ap-ico,body .ap-ico.ap-tg{background:var(--ds-desk);background-image:none;color:var(--ds-ink);border-radius:10px}
body .ap-txt h3{font-size:var(--ds-fs-3)}
body .ap-txt p{color:var(--ds-ink-2);font-size:var(--ds-fs-2)}
body .ap-btn{background:var(--ds-paper);color:var(--ds-ink)!important;border:1.5px solid var(--ds-line-2);border-radius:var(--ds-r-ctl);min-height:44px;font-weight:650;font-size:var(--ds-fs-2);box-shadow:none}
body .ap-btn:hover{background:var(--ds-desk);border-color:var(--ds-ink-2)}
body .ap-btn.ap-btn-tg{background:var(--ds-act);color:var(--ds-act-ink)!important;border-color:var(--ds-act)}
body .ap-btn.ap-btn-tg:hover{background:var(--ds-act-hover);border-color:var(--ds-act-hover)}
body .ap-note{color:var(--ds-ink-2)}

/* ── 26. Кнопки и старые классы 109 страниц: один вид без правки файлов ── */
body .rasp-btn,body .dl-btn,body .shab-btn:not(.ghost),body .pgb-btn,body .rk-btn-main,body .cta-block .dl-btn,body .content-block .rasp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border:0;border-radius:var(--ds-r-ctl);
  background:var(--ds-act);background-image:none;color:var(--ds-act-ink)!important;font-family:var(--ds-font);font-weight:650;font-size:var(--ds-fs-2);
  line-height:1.2;text-align:center;text-decoration:none;box-shadow:none;filter:none;transform:none}
body .rasp-btn:hover,body .dl-btn:hover,body .shab-btn:not(.ghost):hover,body .pgb-btn:hover,body .rk-btn-main:hover{background:var(--ds-act-hover);background-image:none;color:var(--ds-act-ink)!important;filter:none;transform:none}
body .rasp-btn.alt,body .rasp-btn~.rasp-btn,body .shab-btn.ghost{background:var(--ds-paper);background-image:none;color:var(--ds-ink)!important;border:1.5px solid var(--ds-line-2);box-shadow:none}
body .rasp-btn.alt:hover,body .rasp-btn~.rasp-btn:hover,body .shab-btn.ghost:hover{background:var(--ds-desk);border-color:var(--ds-ink-2)}
body .pr-btns{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px;margin-top:10px}
body .pr-btns .rasp-btn{margin:0;width:100%}
body .rasp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;background:var(--ds-desk);border-radius:var(--ds-r);padding:12px;margin:16px 0}
body .rasp-card{background:var(--ds-paper);border:1px solid var(--ds-line);border-radius:var(--ds-r);padding:12px;box-shadow:none}
body .rasp-card img{border-radius:2px;border:0;box-shadow:var(--ds-shadow-paper);background:#fff}
body .rasp-name{font-size:var(--ds-fs-2);font-weight:700;line-height:1.3;color:var(--ds-ink)}
body .rasp-note{font-size:var(--ds-fs-2);line-height:1.45;color:var(--ds-ink-2)}
@media (max-width:560px){body .rasp-grid{grid-template-columns:minmax(0,1fr)}body .rasp-card img{max-width:300px;margin:0 auto}}
body .cta-block{background:var(--ds-desk);border:0;border-radius:var(--ds-r);padding:20px;text-align:left;box-shadow:none}
body .cta-block h3{font-size:var(--ds-fs-4);line-height:1.25;margin:0 0 8px}
body .cta-block p,body .cta-block li{color:var(--ds-ink-2);font-size:var(--ds-fs-3)}
body .cta-block .dl-btn{margin-top:6px}
/* «Что дальше» — чипами */
body .next-step{background:transparent!important;border:0!important;padding:0!important;margin:24px 0!important}
body .next-step>div:first-child{font-weight:750!important;font-size:var(--ds-fs-3);margin:0 0 10px!important;color:var(--ds-ink)}
body .next-step a,body .next-step a[style]{display:inline-flex!important;align-items:center;min-height:40px;padding:0 14px!important;border-radius:var(--ds-r-pill)!important;
  background:var(--ds-paper)!important;border:1px solid var(--ds-line-2)!important;color:var(--ds-ink)!important;font-size:var(--ds-fs-2)!important;font-weight:600!important;text-decoration:none!important;line-height:1.25!important}
body .next-step a:hover{border-color:var(--ds-ink-2)!important;background:var(--ds-desk)!important}
body .fmt{background:var(--ds-desk);color:var(--ds-ink);border:0}
body .related-link,body .related-links a{color:var(--ds-link)}

/* ── 27. Карточка товара как на маркетплейсе (ds-product-v4.php: ds_market_card / ds_market_grid) ── */
.v4-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 28px;padding:0;list-style:none}
@media (min-width:700px){.v4-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (min-width:1000px){.v4-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.v4-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--ds-paper);border:1px solid var(--ds-line);border-radius:var(--ds-r);padding:10px 10px 12px;margin:0}
.v4-cover{position:relative;display:block;aspect-ratio:3/4;border-radius:8px;background:var(--ds-desk);overflow:hidden;margin:0 0 10px;text-decoration:none}
.v4-cover img{position:absolute;inset:9% 12%;width:76%;height:82%;object-fit:contain;object-position:center bottom;display:block;filter:drop-shadow(0 1px 1px rgba(22,24,29,.12)) drop-shadow(0 8px 14px rgba(22,24,29,.16))}
.v4-cover--fill img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:none}
.v4-cover-ph{position:absolute;inset:9% 12%;display:flex;flex-direction:column;justify-content:flex-start;padding:14% 10%;background:#fff;border-radius:2px;box-shadow:var(--ds-shadow-paper);
  font-weight:750;font-size:var(--ds-fs-2);line-height:1.25;color:var(--ds-ink);overflow:hidden}
.v4-cover-ph::after{content:"";display:block;margin-top:12%;height:38%;background:repeating-linear-gradient(var(--ds-line) 0 1px,transparent 1px 12px)}
.v4-cover--stack::before,.v4-cover--stack::after{content:"";position:absolute;inset:9% 12%;background:#fff;border-radius:2px;box-shadow:0 1px 2px rgba(22,24,29,.14)}
.v4-cover--stack::before{transform:translate(9px,-7px) rotate(3.5deg)}
.v4-cover--stack::after{transform:translate(4px,-3px) rotate(1.5deg)}
.v4-cover img{z-index:1}
.v4-badge{position:absolute;top:8px;left:8px;z-index:2;padding:3px 8px;border-radius:6px;background:var(--ds-ink);color:#fff;font-size:var(--ds-fs-1);font-weight:700;line-height:1.3}
.v4-card-t{margin:0 0 4px;font-size:var(--ds-fs-2);line-height:1.3;font-weight:650;color:var(--ds-ink);letter-spacing:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;text-wrap:pretty}
.v4-card-t a{color:inherit;text-decoration:none}
.v4-card-t a:hover{text-decoration:underline}
@media (max-width:699px){.v4-card-t{-webkit-line-clamp:3;min-height:3.9em}}
.v4-card-m{margin:0 0 8px;font-size:var(--ds-fs-1);line-height:1.35;color:var(--ds-ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v4-price{margin:auto 0 10px;font-size:var(--ds-fs-4);font-weight:800;line-height:1.1;color:var(--ds-price);font-variant-numeric:tabular-nums;white-space:nowrap}
.v4-price--free{font-size:var(--ds-fs-3);font-weight:750}
.v4-card .ds-btn{width:100%;min-height:44px;padding:0 10px;font-size:var(--ds-fs-2)}
.v4-lite{display:flex;align-items:center;justify-content:center;min-height:36px;margin-top:4px;font-size:var(--ds-fs-1);font-weight:600;color:var(--ds-link);text-align:center;line-height:1.25}
body .article .v4-card a.ds-btn{color:var(--ds-act-ink);text-decoration:none}
body .article .v4-card a.ds-btn--sec{color:var(--ds-ink)}
/* витрина /ru/shablony/ */
body .shab-wrap.v4-store{max-width:var(--v4-wide)}
body .v4-store>h1{margin:4px 0 8px}
body .v4-store .ds-lead{margin:0 0 14px}
body .v4-store h2{margin:36px 0 4px}
body .v4-store h2+p{margin:0 0 4px;color:var(--ds-ink-2);font-size:var(--ds-fs-2);max-width:var(--ds-measure)}
.v4-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.v4-chips .ds-chip{padding:0 10px;font-size:var(--ds-fs-1);min-height:36px}
body .v4-store .v4-offer{margin:12px 0 16px}
@media (min-width:900px){body .v4-store .v4-offer{max-width:none}body .v4-store .v4-offer-paid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ── 28. Первый экран продающей страницы: полоса «бесплатно + платно с ценой» (ds_offer_strip) ── */
.v4-offer{display:grid;gap:8px;margin:14px 0 20px;max-width:640px}
.v4-offer-free{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.v4-offer-free .ds-btn{min-height:52px;font-size:var(--ds-fs-3);padding:0 16px}
.v4-offer-free .ds-btn--sec{min-width:76px}
.v4-offer-paid{display:grid;gap:8px}
@media (min-width:640px){.v4-offer-paid{grid-template-columns:1fr 1fr}}
a.v4-offer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:8px 14px;border:1.5px solid var(--ds-line-2);border-radius:var(--ds-r-ctl);background:var(--ds-paper);color:var(--ds-ink);text-decoration:none}
a.v4-offer-row:hover{border-color:var(--ds-act);background:var(--ds-act-wash)}
.v4-offer-l{display:flex;flex-direction:column;min-width:0;font-weight:650;font-size:var(--ds-fs-2);line-height:1.25;color:var(--ds-ink)}
.v4-offer-l small{font-weight:400;font-size:var(--ds-fs-1);color:var(--ds-ink-2);line-height:1.3;margin-top:2px}
.v4-offer-p{flex:0 0 auto;font-weight:800;font-size:var(--ds-fs-3);color:var(--ds-price);font-variant-numeric:tabular-nums;white-space:nowrap}
body .article a.v4-offer-row,body .article a.v4-offer-row:hover{color:var(--ds-ink);text-decoration:none}
body .article .v4-offer a.ds-btn{color:var(--ds-act-ink);text-decoration:none}
body .article .v4-offer a.ds-btn--sec{color:var(--ds-ink)}
.v4-offer-n{margin:-10px 0 18px;font-size:var(--ds-fs-1);line-height:1.4;color:var(--ds-ink-2)}
.v4-hero-lead{font-size:var(--ds-fs-3);line-height:1.5;color:var(--ds-ink-2);margin:0 0 4px;max-width:var(--ds-measure)}
body .article h1+.v4-offer-n{margin:-10px 0 18px;font-size:var(--ds-fs-1);line-height:1.4;color:var(--ds-ink-2)}
.v4-hero-lead{margin-top:-6px}

/* ── 29. «Заполнить онлайн» (titul-zakaz): компактно, заголовок с ценой, одна кнопка ── */
body .tz.ds-pad{padding:16px;border:1px solid var(--ds-line);background:var(--ds-paper)}
body .tz-head{display:block;margin:0 0 12px}
body .tz-head h3{margin:0 0 4px;font-size:var(--ds-fs-4);line-height:1.2}
body .tz-sub{margin:0 0 12px;font-size:var(--ds-fs-2);color:var(--ds-ink-2)}
body .tz-form{gap:10px}
body .tz-f{gap:4px}
body .tz-l{font-size:var(--ds-fs-2)}
body .tz-in{min-height:46px;padding:10px 12px;font-size:var(--ds-fs-3);border-radius:var(--ds-r-ctl)}
body .tz-prev-cap{font-size:var(--ds-fs-1)}
body .tz-fine{font-size:var(--ds-fs-1);color:var(--ds-ink-2)}
@media (min-width:560px){
  body .tz-form{grid-template-columns:1fr 1fr;column-gap:12px}
  body .tz-form>.tz-f:nth-of-type(1),body .tz-form>.tz-f:nth-of-type(2),body .tz-form>.tz-f:nth-of-type(4),
  body .tz-form>.tz-msg,body .tz-form>.tz-go,body .tz-form>.tz-fine,body .tz-form>.tz-row{grid-column:1/-1}
}

/* ── 30. Скачиватель: инструмент первым экраном, кнопка бота в первом экране, правая колонка с ботом на ПК ── */
.v4-shell{max-width:var(--v4-wide);margin:0 auto}
@media (min-width:1200px){
  .v4-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;padding:0 20px;align-items:start}
  .v4-shell>.v4-main{min-width:0}
  .v4-rail{position:sticky;top:76px;margin-top:32px}
}
@media (max-width:1199px){.v4-rail{display:none}}
/* первый экран главной: правая колонка .hero-art — место ДОМ.РФ (domrf-2138.js) на ПК, не скрываем и не двигаем */
body .v4-hero .hero-copy>p{margin:0 0 14px}
body .v4-hero .counter-line{font-size:var(--ds-fs-1);color:var(--ds-ink-2);margin:8px 0 0}
body .v4-hero .counter-line strong{color:var(--ds-ink)}
body .v4-hero .quick-paste{margin:8px 0 0}
body .v4-hero .quick-paste button{min-height:44px;font-size:var(--ds-fs-2)}
.v4-fine{margin:10px 0 0;font-size:var(--ds-fs-2);line-height:1.45;color:var(--ds-ink-2);max-width:var(--ds-measure)}
.v4-botline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--ds-line)}
.v4-botline p{flex:1 1 220px;margin:0;font-size:var(--ds-fs-2);line-height:1.4;color:var(--ds-ink-2)}
.v4-botline p b{color:var(--ds-ink);font-weight:650}
.v4-botline .ds-btn{flex:0 0 auto;min-height:44px;font-size:var(--ds-fs-2);padding:0 16px}
.v4-botline .ds-btn i{color:var(--ds-ink)}
@media (max-width:420px){.v4-botline .ds-btn{flex:1 1 100%}}
body .v4-shell .section{padding-left:16px;padding-right:16px}
@media (min-width:1200px){body .v4-shell .section{padding-left:0;padding-right:0}body .v4-shell .results{padding-left:0;padding-right:0}}
/* правая колонка: липкая карточка бота */
.ds-bot-rail{background:var(--ds-paper);border:1px solid var(--ds-line);border-radius:var(--ds-r);padding:12px 12px 16px;font-family:var(--ds-font);color:var(--ds-ink)}
.ds-bot-rail-img{display:block;width:100%;height:auto;aspect-ratio:4/3;border-radius:8px;background:var(--ds-desk);margin:0 0 12px}
.ds-bot-rail .ds-bot-t{font-weight:750;font-size:var(--ds-fs-3);line-height:1.3;margin:0 0 4px}
.ds-bot-rail .ds-bot-p{font-size:var(--ds-fs-2);line-height:1.45;color:var(--ds-ink-2);margin:0 0 12px}
.ds-bot-rail .ds-bot-qrrow{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.ds-bot-rail .ds-bot-qr{flex:0 0 96px;width:96px;height:96px;margin:0;padding:4px;background:#fff;border:1px solid var(--ds-line);border-radius:8px;display:block}
.ds-bot-rail .ds-bot-qr svg{display:block;width:100%;height:100%}
.ds-bot-rail .ds-bot-qrcap{margin:0;font-size:var(--ds-fs-1);color:var(--ds-ink-2);text-align:left}
.ds-bot-rail .ds-btn{width:100%}
body .ds-bot-rail a.ds-btn{color:var(--ds-act-ink);text-decoration:none}
/* главная: блоки ниже первого экрана */
body .v4-shell .section-head h2,body .v4-shell .section>h2{text-align:left}
body .v4-shell .ap-grid{grid-template-columns:minmax(0,1fr)}
body .v4-shell .bot-cta-band{background:var(--ds-desk)!important;background-image:none!important;color:var(--ds-ink)!important;border:0;border-radius:var(--ds-r);box-shadow:none}
body .v4-shell .bot-cta-band *{color:var(--ds-ink)}
body .v4-shell .sp-step .num{background:var(--ds-paper);background-image:none;color:var(--ds-ink);border:2px solid var(--ds-ink);box-shadow:none}
body .v4-shell .sp-step img{box-shadow:none;border:1px solid var(--ds-line)}
body .v4-shell .sp-prose,body .v4-shell .sp-steps{max-width:720px;margin-left:0;margin-right:0}

/* ── 31. Пак раскрасок: пак как товар над бесплатными листами ── */
.v4-pack{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:start;background:var(--ds-paper);border:1px solid var(--ds-line);border-radius:var(--ds-r);padding:12px;margin:12px 0 16px;max-width:720px}
.v4-pack .v4-cover{margin:0;aspect-ratio:3/4}
.v4-pack-t{margin:0 0 4px;font-size:var(--ds-fs-3);line-height:1.3;font-weight:750;color:var(--ds-ink)}
.v4-pack-m{margin:0 0 8px;font-size:var(--ds-fs-2);line-height:1.4;color:var(--ds-ink-2)}
.v4-pack .v4-price{margin:0 0 10px}
.v4-pack .ds-btn{width:100%;min-height:48px}
.v4-pack .v4-lite{justify-content:flex-start;text-align:left}
@media (min-width:700px){.v4-pack{grid-template-columns:168px minmax(0,1fr);gap:20px;padding:16px;margin-left:auto;margin-right:auto}.v4-pack .ds-btn{width:auto;min-width:220px}}
body .kzip{min-height:44px;border-radius:var(--ds-r-ctl)}
body .kzip i{color:var(--ds-ink-2)}
body .kc a.kd,body .kc a.kd:hover{background:var(--ds-act);background-image:none}
body .krel a:hover,body .rtop a:hover,body .rtop a.on{border-color:var(--ds-ink-2);background:var(--ds-desk);color:var(--ds-ink)}

/* 22.10.2026 карточка SpeShu (#spxCard) на телефоне компактная: инструмент должен оставаться в первом-втором экране */
@media (max-width:600px){
#spxCard .spx2-img,#spxCard .spx2-ba{max-height:150px;overflow:hidden}
#spxCard .spx2-img{width:100%;height:150px;object-fit:cover;object-position:center 20%}
#spxCard .spx2-ba img{height:150px;object-fit:cover}
#spxCard .spx2-body{padding-top:10px}
}
