/*
 * kassa26-public-adapter-v140.css
 * Дизайн-адаптер публичной части kassa26.ru под утверждённый макет Lovable (HEAD).
 *
 * Подключать ПОСЛЕДНИМ стилем на публичных страницах (после kassa26-theme*.css,
 * kassa26-home-lovable.css, kassa26-order-admin-v2.css) вместе с
 * kassa26-public-adapter-v140.js (defer).
 * НЕ подключать на admin.html. Все правила привязаны к body.k26, класс ставит JS,
 * который сам ничего не делает на /admin*.
 * Функциональные узлы, id, name, onclick, href не меняются — только внешний вид.
 */

:root {
  --k26-bg: #fbfaf7;            /* oklch(0.985 0.004 95) */
  --k26-card: #ffffff;
  --k26-fg: #0f1b2b;            /* oklch(0.22 0.035 255) */
  --k26-muted: #62748e;         /* oklch(0.554 0.046 257) */
  --k26-primary: #132e50;       /* oklch(0.30 0.07 255) */
  --k26-primary-fg: #fbfaf7;
  --k26-accent: #249c74;        /* oklch(0.62 0.12 165) */
  --k26-accent-hover: #1d8663;
  --k26-accent-soft: rgba(36, 156, 116, .10);
  --k26-accent-line: rgba(36, 156, 116, .30);
  --k26-secondary: #f3f6f8;
  --k26-border: #e3e1da;        /* oklch(0.91 0.01 95) */
  --k26-danger: #d4351c;
  --k26-r-card: 22px;
  --k26-r-tile: 14px;
  --k26-r-field: 12px;
  --k26-shadow: 0 1px 2px rgba(15, 27, 43, .04), 0 12px 32px -12px rgba(15, 27, 43, .14);
  --k26-font: "Manrope", "Segoe UI", Arial, sans-serif;
  --k26-display: "Unbounded", "Manrope", sans-serif;
  --k26-wrap: min(1152px, calc(100% - 40px));
}

/* ============ 1. База ============ */
html body.k26 {
  background: var(--k26-bg) !important;
  color: var(--k26-fg) !important;
  font-family: var(--k26-font) !important;
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden !important;
  -webkit-font-smoothing: antialiased;
}
html body.k26 *, html body.k26 *::before, html body.k26 *::after { box-sizing: border-box; }
html body.k26 img, html body.k26 iframe, html body.k26 video, html body.k26 table { max-width: 100%; }
html body.k26 h1, html body.k26 h2, html body.k26 h3 { font-family: var(--k26-display) !important; color: var(--k26-fg); letter-spacing: -.01em; }
html body.k26 h1 { font-weight: 600 !important; line-height: 1.15 !important; overflow-wrap: anywhere; }
html body.k26 h2 { font-weight: 600 !important; line-height: 1.2 !important; }
html body.k26 h3 { font-family: var(--k26-font) !important; font-weight: 700 !important; }
html body.k26 a { color: inherit; }
html body.k26 :focus-visible { outline: 2px solid var(--k26-accent) !important; outline-offset: 2px; }

/* Скрытые визуальные дубли (узлы остаются в DOM) */
html body.k26 .k26-legacy-hidden { display: none !important; }

/* ============ 2. Общие компоненты ============ */
html body.k26 .k26-wrap { width: var(--k26-wrap); margin-left: auto; margin-right: auto; }

/* Кнопки */
html body.k26 .k26-btn,
html body.k26 .btn, html body.k26 .buy, html body.k26 .support-btn,
html body.k26 .lh-btn {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 22px !important;
  border-radius: 999px !important; border: 1px solid var(--k26-primary) !important;
  background: var(--k26-primary) !important; color: var(--k26-primary-fg) !important;
  font: 700 14px/1.2 var(--k26-font) !important; text-decoration: none !important;
  box-shadow: var(--k26-shadow); cursor: pointer; transition: opacity .15s, transform .15s;
  white-space: normal; text-align: center;
}
html body.k26 .k26-btn:hover, html body.k26 .btn:hover, html body.k26 .buy:hover,
html body.k26 .support-btn:hover, html body.k26 .lh-btn:hover { opacity: .9; }
html body.k26 .k26-btn--outline, html body.k26 .btn-secondary, html body.k26 .buy.secondary,
html body.k26 .lh-btn-secondary {
  background: var(--k26-card) !important; color: var(--k26-fg) !important; border-color: var(--k26-border) !important; box-shadow: none;
}
html body.k26 .k26-btn--accent, html body.k26 .btn-info { background: var(--k26-accent) !important; border-color: var(--k26-accent) !important; color: #fff !important; }
html body.k26 .k26-btn--inverse { background: var(--k26-primary-fg) !important; color: var(--k26-primary) !important; border-color: var(--k26-primary-fg) !important; }
html body.k26 .buy.waitbtn { background: var(--k26-card) !important; color: var(--k26-primary) !important; border-color: var(--k26-primary) !important; box-shadow: none; }

/* Поля */
html body.k26 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
html body.k26 textarea, html body.k26 select {
  font: 500 15px/1.4 var(--k26-font) !important; color: var(--k26-fg) !important;
  background: var(--k26-card) !important; border: 1px solid var(--k26-border) !important;
  border-radius: var(--k26-r-field) !important; padding: 11px 14px !important; max-width: 100%;
  box-shadow: none !important;
}
html body.k26 input:focus, html body.k26 textarea:focus, html body.k26 select:focus {
  border-color: var(--k26-accent) !important; box-shadow: 0 0 0 3px rgba(36,156,116,.13) !important; outline: none !important;
}
html body.k26 label { font-weight: 600; font-size: 14px; }

/* Карточка */
html body.k26 .k26-card {
  background: var(--k26-card); border: 1px solid var(--k26-border);
  border-radius: var(--k26-r-card); box-shadow: var(--k26-shadow); padding: 32px;
}

/* Хлебные крошки */
html body.k26 .k26-crumbs,
html body.k26 .breadcrumbs, html body.k26 .category-breadcrumbs, html body.k26 .ts-category-breadcrumbs {
  display: flex !important; flex-wrap: wrap; gap: 6px; align-items: center;
  width: var(--k26-wrap); max-width: none !important; margin: 40px auto 18px !important; padding: 0 !important;
  background: none !important; border: 0 !important; box-shadow: none !important;
  font: 500 12px/1.4 var(--k26-font) !important; color: var(--k26-muted) !important;
}
html body.k26 .k26-crumbs a, html body.k26 .breadcrumbs a, html body.k26 .category-breadcrumbs a, html body.k26 .ts-category-breadcrumbs a {
  color: var(--k26-muted) !important; text-decoration: none !important;
}
html body.k26 .k26-crumbs a:hover, html body.k26 .breadcrumbs a:hover { color: var(--k26-fg) !important; }
html body.k26 .k26-crumbs-sep { opacity: .6; }
/* Крошки внутри doc-hero не центруются отдельно */
html body.k26 .k26-doc-hero .k26-crumbs, html body.k26 .k26-doc-hero .breadcrumbs,
html body.k26 .k26-doc-hero .category-breadcrumbs, html body.k26 .k26-doc-hero .ts-category-breadcrumbs { width: auto; margin: 0 0 18px !important; }

/* Бейдж */
html body.k26 .k26-badge {
  display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px;
  border: 1px solid var(--k26-border); border-radius: 999px; background: var(--k26-card);
  font-size: 12px; font-weight: 600; color: var(--k26-muted);
}
html body.k26 .k26-check { color: var(--k26-accent); font-weight: 800; }

/* Баннеры */
html body.k26 .k26-banner-dark {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px;
  background: var(--k26-primary); color: var(--k26-primary-fg); border-radius: var(--k26-r-card);
  padding: 36px; box-shadow: var(--k26-shadow);
}
html body.k26 .k26-banner-dark h2, html body.k26 .k26-banner-dark h3 { color: var(--k26-primary-fg) !important; margin: 0; }
html body.k26 .k26-banner-dark p { color: rgba(251,250,247,.75); margin: 6px 0 0; }
html body.k26 .k26-banner-soft {
  background: var(--k26-accent-soft); border: 1px solid var(--k26-accent-line);
  border-radius: var(--k26-r-card); padding: 36px; box-shadow: var(--k26-shadow);
}
html body.k26 .k26-code {
  display: inline-block; background: var(--k26-card); border-radius: var(--k26-r-tile); padding: 12px 20px;
}
html body.k26 .k26-code small { display: block; font-size: 12px; color: var(--k26-muted); }
html body.k26 .k26-code strong { font: 600 36px/1.1 var(--k26-display); color: var(--k26-primary); letter-spacing: .04em; }

/* ============ 3. Шапка (site-header уже рисует site-header.js v138) ============ */
html body.k26 site-header { position: sticky !important; top: 0; z-index: 40; }
html body.k26 site-header .site112-header { background: rgba(251,250,247,.85) !important; backdrop-filter: blur(10px) !important; }
html body.k26 site-header .site112-nav-link { font-size: 14px !important; }

/* ============ 4. Подвал ============ */
html body.k26 .site-footer, html body.k26 .k26-footer {
  background: var(--k26-card) !important; border-top: 1px solid var(--k26-border) !important;
  color: var(--k26-fg) !important; margin-top: 64px !important; padding: 40px 0 !important;
}
html body.k26 .site-footer-inner, html body.k26 .k26-footer-inner { width: var(--k26-wrap) !important; margin: 0 auto !important; padding: 0 !important; }
html body.k26 .footer-columns, html body.k26 .k26-footer-cols {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 32px !important; font-size: 14px;
}
html body.k26 .footer-columns section, html body.k26 .k26-footer-cols section { display: flex; flex-direction: column; gap: 8px; }
html body.k26 .footer-columns h3, html body.k26 .k26-footer-cols h3 { font: 700 14px/1.3 var(--k26-font) !important; margin: 0 0 4px !important; color: var(--k26-fg) !important; }
html body.k26 .footer-brand-block h3 { font-family: var(--k26-display) !important; font-weight: 600 !important; }
html body.k26 .footer-columns a, html body.k26 .k26-footer-cols a { color: var(--k26-muted) !important; text-decoration: none !important; }
html body.k26 .footer-columns a:hover, html body.k26 .k26-footer-cols a:hover { color: var(--k26-fg) !important; }
html body.k26 .footer-columns p, html body.k26 .k26-footer-cols p { color: var(--k26-muted) !important; margin: 0; }
html body.k26 .footer-brand-logo, html body.k26 .k26-footer-logo { height: 32px !important; width: auto !important; mix-blend-mode: multiply; }
html body.k26 .footer-bottom, html body.k26 .k26-footer-bottom {
  display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px;
  margin-top: 40px !important; padding-top: 24px !important; border-top: 1px solid var(--k26-border) !important;
}
html body.k26 .footer-copy, html body.k26 .k26-footer-copy { font-size: 12px !important; color: var(--k26-muted) !important; }
html body.k26 .payment-logos { display: flex !important; flex-wrap: wrap; gap: 12px; }
html body.k26 .payment-logos img {
  width: 64px !important; height: 40px !important; object-fit: contain; padding: 6px 8px;
  border: 1px solid var(--k26-border); border-radius: 8px; background: var(--k26-card);
}

/* ============ 5. Cookie (только внешний вид) ============ */
html body.k26 #kassa26-cookie-notice {
  left: 16px !important; right: 16px !important; bottom: 16px !important;
  max-width: 760px; margin: 0 auto !important;
  background: var(--k26-card) !important; color: var(--k26-fg) !important;
  border: 1px solid var(--k26-border) !important; border-radius: var(--k26-r-tile) !important;
  box-shadow: 0 18px 48px -16px rgba(15,27,43,.28) !important;
  padding: 16px 20px !important; font: 500 14px/1.5 var(--k26-font) !important;
  gap: 16px !important;
}
html body.k26 #kassa26-cookie-notice strong { font-family: var(--k26-display) !important; font-weight: 600; color: var(--k26-fg) !important; }
html body.k26 #kassa26-cookie-notice a { color: var(--k26-accent) !important; }
html body.k26 #kassa26-cookie-notice button:hover { opacity: .9; }
html body.k26 #kassa26-cookie-notice button {
  border-radius: 999px !important; background: var(--k26-primary) !important; color: var(--k26-primary-fg) !important;
  border: 0 !important; padding: 10px 20px !important; font: 700 13px/1.2 var(--k26-font) !important; cursor: pointer;
}

/* ============ 6. Doc-page: статьи, информационные страницы, база знаний ============ */
html body.k26 .k26-doc-hero { width: var(--k26-wrap); margin: 40px auto 28px; }
html body.k26 .k26-doc-hero h1, html body.k26 .k26-doc-hero .article-head h1 {
  font-size: clamp(22px, 4.6vw, 48px) !important; margin: 0 !important; max-width: 820px;
}
html body.k26 .k26-doc-hero .article-head { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html body.k26 .k26-doc-hero .article-meta { margin-top: 12px; font-size: 13px; color: var(--k26-muted); }

html body.k26 .k26-doc-grid {
  display: grid !important; grid-template-columns: minmax(0, 1fr) 300px !important; gap: 24px !important;
  width: var(--k26-wrap) !important; max-width: none !important; margin: 0 auto 64px !important; padding: 0 !important;
  background: none !important; align-items: start;
}
html body.k26 .k26-doc-grid > .info-card,
html body.k26 .k26-doc-grid > .article,
html body.k26 .k26-doc-body {
  min-width: 0; width: auto !important; max-width: none !important; margin: 0 !important;
  background: var(--k26-card) !important; border: 1px solid var(--k26-border) !important;
  border-radius: var(--k26-r-card) !important; box-shadow: var(--k26-shadow) !important;
  padding: 36px !important; color: var(--k26-fg) !important; overflow-wrap: anywhere;
}
html body.k26 .k26-doc-grid .legacy-content, html body.k26 .k26-doc-grid .article-body { font-size: 16px; line-height: 1.7; }
html body.k26 .k26-doc-grid .legacy-content h2, html body.k26 .k26-doc-grid .article-body h2 { font-size: clamp(20px, 2.4vw, 26px) !important; margin: 32px 0 12px !important; }
html body.k26 .k26-doc-grid .legacy-content h3, html body.k26 .k26-doc-grid .article-body h3 { font-size: 18px !important; margin: 24px 0 10px !important; }
html body.k26 .k26-doc-grid .legacy-content a, html body.k26 .k26-doc-grid .article-body a { color: var(--k26-accent) !important; text-underline-offset: 3px; }
html body.k26 .k26-doc-grid .legacy-content a.btn, html body.k26 .k26-doc-grid .article-body a.btn { color: #fff !important; }
html body.k26 .k26-doc-grid img {
  height: auto !important; border-radius: var(--k26-r-field); border: 1px solid var(--k26-border); background: var(--k26-card); margin: 16px 0;
}
html body.k26 .k26-doc-grid iframe { width: 100% !important; border: 0; border-radius: var(--k26-r-field); }
html body.k26 .k26-doc-grid table { display: block; overflow-x: auto; border-collapse: collapse; width: 100% !important; }
html body.k26 .k26-doc-grid td, html body.k26 .k26-doc-grid th { border: 1px solid var(--k26-border) !important; padding: 10px 12px !important; vertical-align: top; }
html body.k26 .k26-doc-grid ul, html body.k26 .k26-doc-grid ol { padding-left: 1.3em; }
html body.k26 .k26-doc-grid .note-important {
  background: var(--k26-accent-soft) !important; border: 1px solid var(--k26-accent-line) !important;
  border-radius: var(--k26-r-tile) !important; padding: 18px 20px !important; margin: 20px 0 !important;
}
html body.k26 .k26-doc-grid .toc {
  background: var(--k26-secondary) !important; border: 0 !important; border-radius: var(--k26-r-tile) !important; padding: 18px 22px !important;
}
/* Если в легаси-контенте есть вложенный <main class="page">, гасим его отступы */
html body.k26 .k26-doc-grid .legacy-content > main.page { padding: 0 !important; margin: 0 !important; width: auto !important; max-width: none !important; }

/* Боковая карточка помощи */
html body.k26 .k26-help { position: sticky; top: 150px; display: grid; gap: 16px; }
html body.k26 .k26-help-card { padding: 24px; }
html body.k26 .k26-help-card h2 { font-size: 17px !important; margin: 0 0 8px !important; }
html body.k26 .k26-help-card p { margin: 0 0 16px; color: var(--k26-muted); font-size: 14px; }
html body.k26 .k26-help-card .k26-btn { min-height: 42px; font-size: 13px !important; padding: 0 18px !important; }
html body.k26 .k26-help-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 14px; }
html body.k26 .k26-help-list a { font-weight: 700; text-decoration: none; }
html body.k26 .k26-accent-card {
  display: block; padding: 24px; border-radius: var(--k26-r-card); background: var(--k26-accent); color: #fff !important;
  text-decoration: none !important; box-shadow: var(--k26-shadow);
}
html body.k26 .k26-accent-card b { display: block; font: 600 18px/1.25 var(--k26-display); margin-bottom: 6px; }
html body.k26 .k26-accent-card span { font-size: 14px; opacity: .9; }

/* База знаний: список статей */
html body.k26 .kb-hero { background: none !important; padding: 0 !important; }
html body.k26 .kb-hero-inner { width: var(--k26-wrap) !important; margin: 0 auto !important; padding: 0 0 24px !important; display: grid; gap: 18px; }
html body.k26 .kb-hero h1 { font-size: clamp(22px, 4.6vw, 48px) !important; color: var(--k26-fg) !important; margin: 0 !important; }
html body.k26 .kb-search { display: block; max-width: 560px; }
html body.k26 .kb-search input { width: 100%; border-radius: 999px !important; padding-left: 18px !important; }
html body.k26 .kb-main { width: var(--k26-wrap) !important; max-width: none !important; margin: 0 auto 64px !important; padding: 0 !important; }
html body.k26 .kb-heading { margin: 0 0 16px !important; color: var(--k26-muted); font-size: 13px; }
html body.k26 .kb-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; }
html body.k26 .kb-card {
  display: block; padding: 24px !important; background: var(--k26-card) !important; border: 1px solid var(--k26-border) !important;
  border-radius: var(--k26-r-card) !important; box-shadow: var(--k26-shadow) !important; color: var(--k26-fg) !important;
  text-decoration: none !important; transition: transform .15s; min-width: 0; overflow-wrap: anywhere;
}
html body.k26 .kb-card:hover { transform: translateY(-2px); }
html body.k26 .kb-empty { color: var(--k26-muted); }

/* ============ 7. ЕСМ: точная композиция Lovable ============ */
html body.k26 .k26-esm-crumbs { margin-bottom: 18px !important; }
html body.k26 .k26-esm {
  width: var(--k26-wrap); margin: 0 auto 64px; display: block;
}
html body.k26 .k26-esm-hero { padding: 0 0 32px; }
html body.k26 .k26-esm-eyebrow {
  margin: 0 0 14px; color: var(--k26-muted); font-size: 13px; font-weight: 600;
  letter-spacing: .04em; text-transform: uppercase;
}
html body.k26 .k26-esm-hero h1 {
  font-size: clamp(22px, 4.6vw, 48px) !important; margin: 0 0 18px !important; max-width: 820px;
}
html body.k26 .k26-esm-hero h1 span { color: var(--k26-accent); }
html body.k26 .k26-esm-hero p {
  max-width: 680px; font-size: 18px; line-height: 1.65; color: var(--k26-muted); margin: 0;
}
html body.k26 .k26-partner-banner {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 36px; border-radius: var(--k26-r-card); background: var(--k26-primary);
  color: var(--k26-primary-fg); box-shadow: var(--k26-shadow);
}
html body.k26 .k26-partner-main { display: flex; align-items: center; gap: 16px; }
html body.k26 .k26-partner-icon {
  width: 40px; height: 40px; flex: 0 0 40px; fill: none; stroke: var(--k26-accent);
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
html body.k26 .k26-partner-label { color: rgba(251,250,247,.75); font-size: 14px; }
html body.k26 .k26-partner-code {
  margin-top: 2px; font: 600 36px/1.1 var(--k26-display); letter-spacing: .04em; color: var(--k26-primary-fg);
}
html body.k26 .k26-partner-cta { white-space: nowrap; gap: 9px; padding: 12px 20px !important; font-size: 16px !important; line-height: 1.35; }
html body.k26 .k26-partner-cta span { font-size: 18px; line-height: 1; }
html body.k26 .k26-esm-reasons-section { padding: 56px 0; }
html body.k26 .k26-esm-heading {
  margin: 0 0 24px !important; font-size: clamp(23px, 3vw, 30px) !important;
}
html body.k26 .k26-esm-reasons {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
html body.k26 .k26-esm-reasons .k26-card { padding: 24px; }
html body.k26 .k26-esm-reasons h3 { font-size: 16px !important; margin: 12px 0 6px !important; }
html body.k26 .k26-esm-reasons p { margin: 0; font-size: 14px; color: var(--k26-muted); }
html body.k26 .k26-esm-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
html body.k26 .k26-esm-pair > .k26-card { padding: 28px; }
html body.k26 .k26-esm-pair h2 { font-size: 20px !important; margin: 0 0 18px !important; }
html body.k26 .k26-pack-list {
  list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 14px;
}
html body.k26 .k26-pack-list li { display: flex; gap: 9px; align-items: flex-start; }
html body.k26 .k26-pack-list .k26-check { flex: 0 0 auto; }
html body.k26 .k26-pack-price { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--k26-border); }
html body.k26 .k26-pack-price span { display: block; color: var(--k26-muted); font-size: 14px; }
html body.k26 .k26-pack-price strong {
  display: block; margin-top: 2px; color: var(--k26-fg); font: 600 30px/1.2 var(--k26-display);
}
html body.k26 .k26-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; font-size: 14px; }
html body.k26 .k26-steps li { display: flex; gap: 12px; align-items: flex-start; }
html body.k26 .k26-steps li > i {
  font-style: normal; flex: 0 0 24px; height: 24px; display: grid; place-items: center; border-radius: 50%;
  background: var(--k26-accent); color: #fff; font-size: 12px; font-weight: 700;
}

/* ============ 8. Техподдержка: две колонки ============ */
html body.k26 .k26-support {
  display: grid !important; grid-template-columns: minmax(0, 1fr) 340px !important; gap: 24px !important;
  width: var(--k26-wrap) !important; max-width: none !important; margin: 0 auto 64px !important; padding: 0 !important; align-items: start;
}
html body.k26 .k26-support > .card {
  margin: 0 !important; max-width: none !important; width: auto !important;
  background: var(--k26-card) !important; border: 1px solid var(--k26-border) !important;
  border-radius: var(--k26-r-card) !important; box-shadow: var(--k26-shadow) !important; padding: 36px !important;
}
html body.k26 .k26-support > .card h1 { font-size: clamp(22px, 3.4vw, 36px) !important; margin: 0 0 16px !important; }
html body.k26 .k26-support .note { color: var(--k26-muted) !important; font-size: 14px; margin-top: 16px; }
html body.k26 .k26-support aside { display: grid; gap: 16px; }

/* ============ 9. Удалённый доступ ============ */
html body.k26.k26-t-remote main { width: var(--k26-wrap) !important; max-width: none !important; margin: 0 auto 64px !important; padding: 0 !important; }
html body.k26.k26-t-remote .page-head { margin: 40px 0 28px !important; padding: 0 !important; background: none !important; border: 0 !important; }
html body.k26.k26-t-remote .page-head h1 { font-size: clamp(22px, 4.6vw, 48px) !important; margin: 0 !important; }
html body.k26 .k26-lead { margin: 16px 0 0; max-width: 640px; font-size: 18px; color: var(--k26-muted); }
html body.k26 .download-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; }
html body.k26 .download-card {
  position: relative; display: flex !important; flex-direction: column; gap: 16px; min-width: 0;
  padding: 28px !important; background: var(--k26-card) !important; color: var(--k26-fg) !important;
  border: 1px solid var(--k26-border) !important; border-radius: var(--k26-r-card) !important;
  box-shadow: var(--k26-shadow) !important; text-decoration: none !important;
}
html body.k26 .download-card.primary { background: var(--k26-primary) !important; border-color: var(--k26-primary) !important; color: var(--k26-primary-fg) !important; }
html body.k26 .download-card.primary * { color: var(--k26-primary-fg) !important; }
html body.k26 .download-card img { max-height: 56px; width: auto; object-fit: contain; align-self: flex-start; }
html body.k26 .k26-dl-tag {
  align-self: flex-start; padding: 4px 12px; border-radius: 999px; background: var(--k26-accent); color: #fff !important; font-size: 12px; font-weight: 700;
}
html body.k26 .k26-dl-cta {
  margin-top: auto; display: inline-flex; justify-content: center; padding: 12px 18px; border-radius: 999px;
  background: var(--k26-primary); color: var(--k26-primary-fg) !important; font-weight: 700; font-size: 14px;
}
html body.k26 .download-card.primary .k26-dl-cta { background: var(--k26-primary-fg); color: var(--k26-primary) !important; }
html body.k26 .remote-banner-link { display: block; margin-top: 24px; border-radius: var(--k26-r-card); overflow: hidden; box-shadow: var(--k26-shadow); }
html body.k26 .remote-banner-link img { display: block; width: 100%; height: auto; }
html body.k26 .k26-callbar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 40px; padding: 28px;
}
html body.k26 .k26-callbar p { margin: 0; font-weight: 700; }

/* ============ 10. Контакты ============ */
html body.k26 .contacts-yandex-map, html body.k26 .contacts81-downloads {
  width: var(--k26-wrap) !important; max-width: none !important; margin: 0 auto 24px !important;
  background: var(--k26-card) !important; border: 1px solid var(--k26-border) !important;
  border-radius: var(--k26-r-card) !important; box-shadow: var(--k26-shadow) !important; padding: 28px !important; overflow: hidden;
}
html body.k26 .contacts-yandex-map__bar { display: flex !important; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; margin-bottom: 16px; }
html body.k26 .contacts-yandex-map__title { font: 600 20px/1.2 var(--k26-display) !important; }
html body.k26 .contacts-yandex-map__button { color: var(--k26-accent) !important; font-weight: 700; text-decoration: none !important; }
html body.k26 .contacts-yandex-map__frame iframe { width: 100% !important; border: 0; border-radius: var(--k26-r-tile); }
html body.k26 .contacts81-downloads__grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
html body.k26 .contacts81-download {
  border: 1px solid var(--k26-border) !important; border-radius: var(--k26-r-tile) !important; background: var(--k26-bg) !important;
  padding: 16px !important; text-decoration: none !important; color: var(--k26-fg) !important; min-width: 0; overflow-wrap: anywhere;
}

/* ============ 11. Главная и каталог (существующие .lh-* и .catalog-*) ============ */
html body.k26 .lovable-home { width: var(--k26-wrap) !important; max-width: none !important; margin: 0 auto !important; }
html body.k26 .lh-hero h1 { font-size: clamp(36px, 6vw, 60px) !important; line-height: 1.1 !important; }
html body.k26 .lh-hero h1 span { color: var(--k26-accent) !important; }
html body.k26 .lh-remote { background: var(--k26-primary) !important; color: var(--k26-primary-fg) !important; border-radius: var(--k26-r-card) !important; }
html body.k26 .lh-remote .lh-btn { background: var(--k26-primary-fg) !important; color: var(--k26-primary) !important; border-color: var(--k26-primary-fg) !important; }
html body.k26 .lh-esm { background: var(--k26-accent-soft) !important; border: 1px solid var(--k26-accent-line) !important; border-radius: var(--k26-r-card) !important; }
html body.k26 .lh-code strong { font-family: var(--k26-display) !important; color: var(--k26-primary) !important; }
html body.k26 .lh-service, html body.k26 .lh-contact { background: var(--k26-card) !important; border: 1px solid var(--k26-border) !important; border-radius: var(--k26-r-card) !important; box-shadow: var(--k26-shadow) !important; }
/* Старая карусель на главной — визуальный дубль баннеров Lovable */
html body.k26.k26-t-home .home61-carousel { display: none !important; }

html body.k26 .catalog-shell {
  display: grid !important; grid-template-columns: 220px minmax(0, 1fr) !important; gap: 32px !important;
  width: var(--k26-wrap) !important; max-width: none !important; margin: 24px auto 64px !important; padding: 0 !important;
}
html body.k26 .catalog-shell .sidebar { min-width: 0; }
html body.k26 .side-card, html body.k26 .benefits-card { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
html body.k26 .side-title { font: 700 12px/1.3 var(--k26-font) !important; text-transform: uppercase; letter-spacing: .06em; color: var(--k26-muted) !important; margin-bottom: 10px !important; }
html body.k26 .catalog-tree { display: flex !important; flex-direction: column; gap: 4px; }
html body.k26 .catalog-parent, html body.k26 .catalog-group-button, html body.k26 .catalog-all button {
  display: flex !important; align-items: center; justify-content: space-between; gap: 6px; width: 100%;
  min-height: 42px; padding: 9px 14px !important; text-align: left;
  border: 1px solid transparent !important; border-radius: var(--k26-r-field) !important;
  background: transparent !important; color: var(--k26-fg) !important; box-shadow: none !important;
  font: 600 14px/1.3 var(--k26-font) !important; cursor: pointer;
}
html body.k26 .catalog-group-button { font-weight: 500 !important; padding-left: 24px !important; color: var(--k26-muted) !important; }
html body.k26 .catalog-parent:hover, html body.k26 .catalog-group-button:hover, html body.k26 .catalog-all button:hover { background: var(--k26-secondary) !important; }
html body.k26 .catalog-parent.on, html body.k26 .catalog-group-button.on, html body.k26 .catalog-all button.on {
  background: var(--k26-primary) !important; color: var(--k26-primary-fg) !important;
}
html body.k26 .recommended-badge {
  display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px;
  background: rgba(36,156,116,.15) !important; color: var(--k26-accent) !important; font-size: 11px; font-weight: 700; white-space: nowrap;
}
html body.k26 .benefits-card { display: grid !important; gap: 8px; margin-top: 20px; }
html body.k26 .benefit { display: flex !important; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--k26-muted); }
html body.k26 .benefit-icon { color: var(--k26-accent) !important; background: var(--k26-accent-soft) !important; border-radius: 10px !important; }

html body.k26 .catalog-main { min-width: 0; }
html body.k26 .catalog-main h1, html body.k26 .comparison-home h1 { font-size: clamp(22px, 4vw, 40px) !important; margin: 0 0 12px !important; }
html body.k26 .home-lead { color: var(--k26-muted); font-size: 17px; }

/* Сетка карточек товаров: кнопка всегда под ценой, ряд выровнен */
html body.k26 #products.grid {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important;
}
html body.k26 #products .card {
  display: flex !important; flex-direction: column; min-width: 0; height: 100%;
  background: var(--k26-card) !important; border: 1px solid var(--k26-border) !important;
  border-radius: var(--k26-r-card) !important; box-shadow: var(--k26-shadow) !important; padding: 20px !important; overflow: hidden;
}
html body.k26 #products .product-visual { border-radius: var(--k26-r-tile); background: var(--k26-secondary); overflow: hidden; margin-bottom: 14px; }
html body.k26 #products .product-visual img { width: 100%; height: 120px; object-fit: contain; display: block; }
html body.k26 #products .product-body { display: flex !important; flex-direction: column; flex: 1; min-width: 0; }
html body.k26 #products .cat { font-size: 12px; color: var(--k26-muted); }
html body.k26 #products h3 { font-size: 15px !important; line-height: 1.35 !important; margin: 6px 0 !important; overflow-wrap: anywhere; }
html body.k26 #products .desc { font-size: 13px; color: var(--k26-muted); }
html body.k26 #products .price-block { margin-top: auto !important; padding-top: 14px; }
html body.k26 #products .price-rrp, html body.k26 #products .price-discount { font-size: 12px; color: var(--k26-muted) !important; }
html body.k26 #products .price-rrp span { color: var(--k26-muted); }
html body.k26 #products .price-main { font: 600 22px/1.2 var(--k26-display) !important; color: var(--k26-fg) !important; }
html body.k26 #products .price-spacer { visibility: hidden; }
html body.k26 #products .soldout { font-size: 12px; color: var(--k26-muted); margin-top: 8px; }
html body.k26 #products .buy { width: 100%; margin-top: 14px !important; }
html body.k26 #products.list-view, html body.k26 .list-view #products { grid-template-columns: 1fr !important; }

/* Таблица сравнения ОФД */
html body.k26 .compare-panel {
  background: var(--k26-card) !important; border: 1px solid var(--k26-border) !important;
  border-radius: var(--k26-r-card) !important; box-shadow: var(--k26-shadow) !important; overflow: hidden !important;
}
html body.k26 .compare-table { width: 100% !important; border-collapse: collapse !important; font-size: 14px; }
html body.k26 .compare-table thead th {
  background: var(--k26-secondary) !important; color: var(--k26-muted) !important; font: 600 12px/1.3 var(--k26-font) !important;
  padding: 14px 16px !important; text-align: center; border: 0 !important; border-bottom: 1px solid var(--k26-border) !important;
}
html body.k26 .compare-table thead th:first-child { text-align: left; }
html body.k26 .compare-table td { padding: 14px 16px !important; border: 0 !important; border-bottom: 1px solid var(--k26-border) !important; text-align: center; vertical-align: middle; }
html body.k26 .compare-table tr:last-child td { border-bottom: 0 !important; }
html body.k26 .compare-operator { font-weight: 700; color: var(--k26-fg) !important; text-decoration: none !important; }
html body.k26 .compare-operator-cell { text-align: left !important; }
html body.k26 .compare-old { color: var(--k26-muted) !important; text-decoration: line-through; font-size: 12px; display: block; }
html body.k26 .compare-price-link { color: var(--k26-fg) !important; font-weight: 700; text-decoration: none !important; }
html body.k26 .compare-best-note {
  display: inline-block; margin-top: 4px; padding: 2px 8px; border-radius: 999px; background: var(--k26-accent) !important; color: #fff !important;
  font-size: 11px; font-weight: 700;
}
html body.k26 .compare-stock-out { color: var(--k26-muted) !important; font-size: 12px; }
html body.k26 .compare-note { color: var(--k26-muted); font-size: 13px; margin-top: 12px; }
html body.k26 .ofd-compare-banner { background: var(--k26-accent-soft) !important; border: 1px solid var(--k26-accent-line) !important; border-radius: var(--k26-r-tile) !important; }
html body.k26 .bottom-benefits { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 12px !important; margin-top: 24px; }
html body.k26 .bottom-benefit { background: var(--k26-card) !important; border: 1px solid var(--k26-border) !important; border-radius: var(--k26-r-card) !important; padding: 18px !important; font-size: 13px; }

/* Переключатель сроков (добавляет JS, виден только на mobile) */
html body.k26 .k26-periods { display: none; }

/* Модальные окна заказа/ожидания */
html body.k26 .modal .box {
  background: var(--k26-card) !important; border-radius: var(--k26-r-card) !important; box-shadow: 0 24px 64px -20px rgba(15,27,43,.35) !important;
  padding: 28px !important; max-width: min(520px, calc(100vw - 24px)) !important; color: var(--k26-fg) !important;
}
html body.k26 .modal .box h2 { font-size: 20px !important; }
html body.k26 .modal .actions { display: flex; flex-wrap: wrap; gap: 10px; }
html body.k26 .muted { color: var(--k26-muted) !important; }

/* ============ 12. order.html / application.html ============ */
html body.k26.k26-t-order main, html body.k26.k26-t-application main { width: var(--k26-wrap) !important; max-width: 760px !important; margin: 40px auto 64px !important; padding: 0 !important; }
html body.k26 #order.card, html body.k26 #app.card {
  background: var(--k26-card) !important; border: 1px solid var(--k26-border) !important; border-radius: var(--k26-r-card) !important;
  box-shadow: var(--k26-shadow) !important; padding: 32px !important; color: var(--k26-fg) !important; overflow-wrap: anywhere;
}
html body.k26 #order .row, html body.k26 #app .row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--k26-border); }
html body.k26 #order .item, html body.k26 #app .item { padding: 12px 0; border-bottom: 1px solid var(--k26-border); }
html body.k26 #order .price, html body.k26 #app .price { font-family: var(--k26-display); font-weight: 600; }
html body.k26 #order .code { font-family: ui-monospace, monospace; background: var(--k26-secondary); border-radius: 8px; padding: 6px 10px; display: inline-block; }
html body.k26 .ok { color: var(--k26-accent) !important; }
html body.k26 .bad, html body.k26 .missing { color: var(--k26-danger) !important; }
html body.k26 .notice { background: var(--k26-secondary) !important; border: 0 !important; border-radius: var(--k26-r-tile) !important; padding: 14px 16px !important; }
html body.k26 .paylink, html body.k26 #order .btn, html body.k26 #app .btn { margin-top: 12px; }
html body.k26 .qr img, html body.k26 .qrimg { border-radius: var(--k26-r-tile); border: 1px solid var(--k26-border); background: #fff; padding: 8px; }

/* Переключатель сроков таблицы ОФД: до 900px */
@media (max-width: 900px) {
  /* Таблица: без горизонтальной прокрутки, одна колонка срока */
  html body.k26 .k26-periods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
  html body.k26 .k26-periods button {
    min-height: 40px; border-radius: 999px; border: 1px solid var(--k26-border); background: var(--k26-card);
    color: var(--k26-fg); font: 600 13px/1.2 var(--k26-font); cursor: pointer; padding: 6px 8px;
  }
  html body.k26 .k26-periods button[aria-pressed="true"] { background: var(--k26-primary); border-color: var(--k26-primary); color: var(--k26-primary-fg); }
  html body.k26 .compare-table.k26-has-periods th:not(:first-child):not(.k26-col-on),
  html body.k26 .compare-table.k26-has-periods td:not(:first-child):not(.k26-col-on) { display: none !important; }
  html body.k26 .compare-table th, html body.k26 .compare-table td { padding: 12px !important; }
}

/* ============ 13. Адаптив: 1024 / 834 / 390 / 360 ============ */
@media (max-width: 1024px) {
  html body.k26 #products.grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.k26 .kb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.k26 .k26-doc-grid { grid-template-columns: minmax(0, 1fr) 260px !important; }
  html body.k26 .k26-support { grid-template-columns: minmax(0, 1fr) 300px !important; }
}
@media (max-width: 860px) {
  html body.k26 .k26-doc-grid, html body.k26 .k26-support { grid-template-columns: 1fr !important; }
  html body.k26 .k26-help { position: static; }
  html body.k26 .k26-esm-reasons { grid-template-columns: 1fr 1fr; }
  html body.k26 .k26-esm-pair { grid-template-columns: 1fr; }
  html body.k26 .download-grid { grid-template-columns: 1fr !important; }
  html body.k26 .footer-columns, html body.k26 .k26-footer-cols { grid-template-columns: 1fr 1fr !important; }
  html body.k26 .bottom-benefits { grid-template-columns: 1fr 1fr !important; }
  html body.k26.k26-t-esm .esm-intro-grid, html body.k26.k26-t-esm .esm-five-reasons, html body.k26.k26-t-esm .partner-cards { grid-template-columns: 1fr !important; display: grid !important; }
}
@media (max-width: 767px) {
  html body.k26 { --k26-wrap: calc(100% - 40px); }
  /* Каталог: плитки разделов 2 колонки вместо бокового списка */
  html body.k26 .catalog-shell { grid-template-columns: 1fr !important; gap: 20px !important; }
  html body.k26 .catalog-tree { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; }
  html body.k26 .catalog-branch { display: contents; }
  html body.k26 .catalog-parent, html body.k26 .catalog-all button {
    min-height: 54px; justify-content: center; text-align: center; background: var(--k26-card) !important; border-color: var(--k26-border) !important;
  }
  html body.k26 .catalog-level { grid-column: 1 / -1; display: grid !important; grid-template-columns: 1fr 1fr; gap: 6px; }
  html body.k26 .catalog-group-button { padding-left: 12px !important; background: var(--k26-secondary) !important; justify-content: center; text-align: center; flex-wrap: wrap; }
  html body.k26 .catalog-all { grid-column: 1 / -1; }
  html body.k26 .benefits-card { display: none !important; }
  html body.k26 #products.grid { grid-template-columns: 1fr !important; }
  html body.k26 .kb-grid { grid-template-columns: 1fr !important; }
  html body.k26 .k26-banner-dark, html body.k26 .k26-banner-soft, html body.k26 .k26-card { padding: 24px; }
  html body.k26 .k26-partner-banner { flex-direction: column; align-items: flex-start; padding: 28px; }
  html body.k26 .k26-partner-cta { width: auto; max-width: 100%; white-space: normal; justify-content: flex-start; text-align: left; }
  html body.k26 .k26-esm-pair > .k26-card { padding: 24px; }
  html body.k26 .k26-doc-grid > .info-card, html body.k26 .k26-doc-grid > .article, html body.k26 .k26-support > .card,
  html body.k26 #order.card, html body.k26 #app.card { padding: 22px !important; }
  html body.k26 .contacts81-downloads__grid { grid-template-columns: 1fr !important; }
  html body.k26 .k26-doc-hero { margin-top: 28px; }
  html body.k26 .k26-crumbs, html body.k26 .breadcrumbs, html body.k26 .category-breadcrumbs, html body.k26 .ts-category-breadcrumbs { margin-top: 28px !important; }
}
@media (max-width: 560px) {
  html body.k26 .k26-esm-reasons { grid-template-columns: 1fr; }
  html body.k26 .footer-columns, html body.k26 .k26-footer-cols { grid-template-columns: 1fr !important; }
  html body.k26 .bottom-benefits { grid-template-columns: 1fr !important; }
  html body.k26 .k26-code strong { font-size: 30px; }
  html body.k26 .k26-esm-hero p, html body.k26 .k26-lead { font-size: 16px; }
  html body.k26 #kassa26-cookie-notice { flex-direction: column !important; align-items: stretch !important; left: 10px !important; right: 10px !important; bottom: 10px !important; }
}
@media (max-width: 380px) {
  html body.k26 { --k26-wrap: calc(100% - 28px); }
  html body.k26 .catalog-parent, html body.k26 .catalog-all button { font-size: 13px !important; padding: 8px !important; }
}

/* Исходный H1 статьи ЕСМ под новой композицией — визуально уровень H2 */
html body.k26 .k26-h1-secondary { font-size: clamp(20px, 2.6vw, 28px) !important; }

html body.k26 .footer-copy, html body.k26 .k26-footer-copy { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }

/* Крошки внутри уже центрованных контейнеров */
html body.k26 .k26-wrap > .k26-crumbs, html body.k26 .page-head .k26-crumbs, html body.k26 main > .k26-crumbs { width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
html body.k26 .page-head p { color: var(--k26-muted) !important; font-size: 18px; margin: 16px 0 0 !important; max-width: 640px; }
/* Кнопка шапки всегда изумрудная (на части страниц перекрашивается --brand-primary) */
html body.k26 site-header .site112-action { background: var(--k26-accent) !important; border-color: var(--k26-accent) !important; color: #fff !important; }
/* Карточки скачивания с собственным текстом «Скачать…» */
html body.k26 .download-card.k26-dl-has-cta { align-items: flex-start; text-align: left; }

/* ChatGPT QA: preserve inverse text in the Lovable dark CTA */
html body.k26 .lovable-home .lh-remote h2,
html body.k26 .lh-remote h2 { color: #fff !important; }
html body.k26 .lovable-home .lh-remote p,
html body.k26 .lh-remote p { color: rgba(255,255,255,.76) !important; }
