/* =====================================================================
   tk-style-fixes.css — пакет «единый стиль» (handoff 13.10.2026), этап 1: статьи блога.
   Только записи (body.single-post). Цвета, радиусы и фокус — токены дизайн-системы DS 1.1
   (assets-home/design-system/tokens.css), новых цветов, шрифтов и теней нет.
   Коды правок — по tonykador-fixes.md: T4, L1, L3, S2, S3, S5/C7, S6, S7.
   ===================================================================== */

/* T4 — заголовки без висячих строк, абзацы без «сирот» */
body.single-post .entry-title,
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .tk-cta-title,
body.single-post .tk-readmore li a{text-wrap:balance}
body.single-post .entry-content p,
body.single-post .entry-content li{text-wrap:pretty}

/* L1 — один стиль ссылок в тексте: зелёный, линия 1 px золотом, отступ 3 px; hover — линия зелёная.
   Пунктир остаётся только у терминов с подсказкой (.tk-inline-link с data-tip). */
body.single-post .entry-content p a:not(.tk-inline-link):not(.tk-cta-btn):not(.btn):not(.tk-button),
body.single-post .entry-content li:not(.tk-related li):not(.tk-readmore li) a:not(.tk-inline-link):not(.tk-cta-btn):not(.btn):not(.tk-button){
  color:var(--tk-color-green);text-decoration-line:underline;text-decoration-style:solid;
  text-decoration-color:var(--tk-color-gold);text-decoration-thickness:1px;text-underline-offset:3px}
body.single-post .entry-content p a:not(.tk-inline-link):not(.tk-cta-btn):not(.btn):not(.tk-button):hover,
body.single-post .entry-content li:not(.tk-related li):not(.tk-readmore li) a:not(.tk-inline-link):not(.tk-cta-btn):not(.btn):not(.tk-button):hover{
  text-decoration-color:var(--tk-color-green)}
body.single-post .entry-content a.tk-inline-link{text-underline-offset:3px}
body.single-post .entry-content a.tk-inline-link:not([data-tip]){text-decoration-style:solid;text-decoration-color:var(--tk-color-gold)}

/* L3 — заметный фокус с клавиатуры (цвет фокуса DS, как у оглавления и таблиц) */
body.single-post a:focus-visible,
body.single-post button:focus-visible,
body.single-post summary:focus-visible{outline:3px solid var(--tk-focus-color,#A87E33);outline-offset:2px;border-radius:4px}

/* S2 — оглавление: номер «01» слева от пункта, без маркера у последней строки и без рамок */
body.single-post .tk-toc ul{counter-reset:tktoc;list-style:none;margin:0;padding:0}
body.single-post .tk-toc li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;column-gap:4px;
  counter-increment:tktoc;list-style:none;margin:0;padding:0;border:0;background:none}
body.single-post .tk-toc li::marker{content:none}
body.single-post .tk-toc li::before{content:counter(tktoc,decimal-leading-zero);
  font:600 13px/1 var(--tk-font-display);color:var(--tk-color-gold-text);padding-top:15px;font-variant-numeric:tabular-nums}
body.single-post .tk-toc .tk-toc-link{display:block;width:100%;min-height:44px;padding:10px 0;text-align:left;
  background:none;border:0;box-shadow:none;font:500 16px/1.4 var(--tk-font-body);color:var(--tk-color-green);cursor:pointer}
body.single-post .tk-toc .tk-toc-link:hover{text-decoration:underline;text-decoration-color:var(--tk-color-gold);text-underline-offset:3px}
body.single-post .tk-toc--sticky li{border-top:0}

/* S3 — таблицы на телефоне помещаются в ширину, без прокрутки вбок; обёртка с прокруткой остаётся страховкой */
@media (max-width:600px){
  body.single-post .entry-content .tk-table-wrap>table:not(.tk-crs-compare){table-layout:fixed;width:100%;min-width:0}
  body.single-post .entry-content .tk-table-wrap>table:not(.tk-crs-compare) th,
  body.single-post .entry-content .tk-table-wrap>table:not(.tk-crs-compare) td{
    overflow-wrap:break-word;hyphens:auto;padding:8px 8px;font-size:15px;line-height:1.45}
  body.single-post .entry-content .tk-table-wrap>table:not(.tk-crs-compare) th{font-size:14px}
}

/* S5 / C7 — врезки «Коротко» и клуб: полная рамка 1 px, радиус карточки, без левой полосы */
body.single-post .tk-kratko{border:1px solid var(--tk-color-line);border-radius:var(--tk-radius-compact,16px)}
body.single-post .tk-kratko-lbl{display:flex;align-items:center;gap:10px;letter-spacing:.12em}
body.single-post .tk-kratko-lbl::before{content:"";flex:none;width:24px;height:1px;background:var(--tk-color-gold)}
body.single-post .tk-cta-box{border:1px solid var(--tk-color-line);border-left-width:1px;border-radius:var(--tk-radius-compact,16px);box-shadow:none}

/* S7 — мелкий текст концовки: 14 px, muted, без курсива; дисклеймер — врезка без рамки */
body.single-post .tk-disclaimer{font-size:14px;line-height:1.5;font-style:normal;color:var(--tk-color-muted);
  background:var(--tk-color-paper-2);border:0;border-radius:var(--tk-radius-compact,16px);padding:14px 18px}
body.single-post .tk-sources li{font-size:15px}

/* S6 — «Назад / Далее»: виден заголовок соседней статьи в две строки */
body.single-post .post-navigation .nav-links p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin:6px 0 0;font:600 15px/1.4 var(--tk-font-body);color:var(--tk-color-green);text-transform:none;letter-spacing:0;white-space:normal;max-width:100%}
@media (max-width:544px){body.single-post .post-navigation .nav-links p{display:-webkit-box}}

/* T11 — немецкие слова в таблицах (span lang="de" ставит типограф) переносятся по слогам */
body.single-post .entry-content td [lang="de"],
body.single-post .entry-content th [lang="de"]{-webkit-hyphens:auto;hyphens:auto}

/* L5 — ссылки на чужие сайты отмечены ↗ (в новой вкладке их открывает фильтр the_content); кнопки и картинки без значка */
body.single-post .entry-content a[href^="http"]:not([href*="tonykador.de"]):not(.tk-cta-btn):not(.btn):not(.tk-button):not(.tk-inline-link):not(:has(img))::after{
  content:"\00a0↗";content:"\00a0↗" / "";font-size:.85em;text-decoration:none;display:inline-block}
