/*
Theme Name: Finance Journal 1.1
Theme URI: https://example.com
Author: Ваше имя
Author URI: https://example.com
Description: Классическая PHP-тема в стиле «финансового дневника» — газетная вёрстка, штампы, прогресс-бар чтения, чек-листы, сравнительные таблицы, карточки рисков и «чеки» расчётов для лонгридов о личных финансах, недвижимости и инвестициях.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Tested up to: 6.7
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: finansdnevnik
*/

/* ==========================================================================
   1. ПЕРЕМЕННЫЕ И БАЗА
   ========================================================================== */
:root{
  --paper:#EAEEDF;
  --paper-card:#F4F6EA;
  --paper-line:#C7D0B4;
  --ink:#1F2D3B;
  --ink-soft:#52626B;
  --stamp-red:#AE382C;
  --stamp-gold:#BD832A;
  --ledger-teal:#2C6E5F;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'PT Serif', serif; font-size:18px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; opacity:.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:180px 180px; z-index:2000;
}
a{color:var(--ledger-teal); text-decoration-thickness:1px;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, .checkbox:focus-visible{ outline:2px solid var(--ledger-teal); outline-offset:3px; }
h1,h2,h3{ font-family:'Oswald', sans-serif; font-weight:600; letter-spacing:.01em; color:var(--ink); margin:0 0 .5em; }
img{ max-width:100%; height:auto; display:block; }
.wrap{max-width:740px; margin:0 auto; padding:0 24px;}

/* ==========================================================================
   2. ДОСТУПНОСТЬ (skip-link, screen-reader-text — стандартные классы WP)
   ========================================================================== */
.screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px;
  overflow:hidden; padding:0; position:absolute !important; width:1px; word-wrap:normal !important;
}
.screen-reader-text:focus{
  background-color:var(--paper); border-radius:3px; box-shadow:0 0 2px 2px rgba(0,0,0,.6);
  clip:auto !important; clip-path:none; color:var(--ink); display:block; font-size:14px; font-weight:700;
  height:auto; left:5px; line-height:normal; padding:15px 23px 14px; text-decoration:none; top:5px;
  width:auto; z-index:100000;
}

/* ==========================================================================
   3. ШАПКА САЙТА (сквозная, не путать с .hero — шапкой конкретной статьи)
   ========================================================================== */
.site-header{ border-bottom:1px solid var(--paper-line); background:var(--paper); }
.site-header-inner{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; flex-wrap:wrap; gap:12px; }
.site-header-actions{ display:flex; align-items:center; gap:4px; flex-shrink:0; }
.site-title{ font-family:'Oswald',sans-serif; font-weight:700; font-size:19px; letter-spacing:.02em; color:var(--ink); text-decoration:none; }
.custom-logo-link img{ max-height:48px; width:auto; }
.site-nav ul{ display:flex; gap:20px; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.site-nav a{ font-family:'PT Mono',monospace; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); text-decoration:none; }
.site-nav a:hover, .site-nav a:focus{ color:var(--ledger-teal); }

/* ==========================================================================
   4. ШКАЛА ПРОГРЕССА ЧТЕНИЯ (только на отдельной записи)
   ========================================================================== */
.meter{ position:fixed; top:0; left:0; right:0; height:7px; background:var(--paper-line); z-index:1000; }
.meter-fill{ height:100%; width:0%; background:var(--ledger-teal); transition:width .08s linear; }
.meter-label{
  position:fixed; top:9px; right:18px; font-family:'PT Mono', monospace; font-size:11px; color:var(--ink-soft);
  background:var(--paper); padding:2px 7px; border:1px solid var(--paper-line); border-radius:3px; z-index:1000;
}

/* ==========================================================================
   5. ШАПКА СТАТЬИ (hero)
   ========================================================================== */
header.hero{
  position:relative; padding:72px 0 56px; border-bottom:3px double var(--ink);
  background-image:repeating-linear-gradient(to bottom, transparent 0 38px, var(--paper-line) 38px 39px);
  overflow:hidden;
}
.breadcrumbs{
  font-family:'PT Mono', monospace; font-size:13px; color:var(--ink-soft); display:flex; align-items:center;
  gap:6px; flex-wrap:wrap; margin-bottom:22px;
}
.breadcrumbs a{ color:var(--ink-soft); text-decoration:none; }
.breadcrumbs a:hover, .breadcrumbs a:focus{ color:var(--ledger-teal); }
.breadcrumb-sep{ color:var(--paper-line); }
.breadcrumb-current{ color:var(--ink); }

.post-meta-top{
  font-family:'PT Mono', monospace; font-size:13.5px; color:var(--ink-soft); display:flex; align-items:center;
  gap:18px; flex-wrap:wrap; margin-bottom:26px;
}
.meta-item{ display:inline-flex; align-items:center; gap:6px; }
.ico{ display:inline-flex; width:15px; height:15px; flex-shrink:0; }
.ico svg{ width:100%; height:100%; display:block; }

.like-button{ background:none; border:none; padding:0; margin:0; font:inherit; color:var(--ink-soft); cursor:pointer; }
.like-button:hover{ color:var(--ledger-teal); }
.like-button.is-liked{ color:var(--stamp-red); cursor:default; }
h1.title{ font-size:clamp(28px, 5.2vw, 46px); line-height:1.14; max-width:13em; }
.subtitle{ font-family:'PT Serif', serif; font-style:italic; color:var(--ink-soft); font-size:20px; margin-top:10px; max-width:32em; }

/* ==========================================================================
   6. ШТАМП
   ========================================================================== */
.stamp{
  --rot:-7deg; display:inline-block; font-family:'Oswald', sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:var(--ledger-teal); border:3px solid var(--ledger-teal); border-radius:50% / 42%;
  padding:10px 22px; transform:rotate(var(--rot)); mix-blend-mode:multiply; opacity:.88; position:relative;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
}
.hero-stamp{ position:absolute; top:60px; right:6%; font-size:16px; }
@media (prefers-reduced-motion: no-preference){ .hero-stamp{ animation:stamp-in .55s cubic-bezier(.2,1.6,.4,1) .15s both; } }
@keyframes stamp-in{
  0%{ opacity:0; transform:rotate(var(--rot)) scale(2.4); }
  70%{ opacity:.95; }
  100%{ opacity:.88; transform:rotate(var(--rot)) scale(1); }
}

.lead{ margin-top:30px; font-size:19px; max-width:34em; }
.lead strong{ color:var(--ink); }

/* ==========================================================================
   6.1 ИЗОБРАЖЕНИЕ ЗАПИСИ (выводится автоматически между шапкой и телом статьи)
   ========================================================================== */
.featured-image{ margin:36px 0 40px; }
.featured-image img{
  width:100%; height:auto; max-height:520px; object-fit:cover; display:block;
  border:1px solid var(--paper-line); border-radius:8px;
}
.featured-image figcaption{
  font-family:'PT Mono', monospace; font-size:12px; letter-spacing:.03em; color:var(--ink-soft);
  margin-top:10px; text-align:center;
}

/* ==========================================================================
   7. СЕКЦИИ И ТИПОГРАФИКА СТАТЬИ
   ========================================================================== */
.article-sections section{ padding:48px 0; }
.article-sections section + section{ border-top:1px solid var(--paper-line); }

.eyebrow{
  font-family:'PT Mono', monospace; font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ledger-teal); margin-bottom:10px; display:flex; align-items:center; gap:8px;
}
.eyebrow::before{ content:"§"; color:var(--stamp-gold); }
.eyebrow.serious{ color:var(--ink-soft); }
.eyebrow.serious::before{ content:"✎"; color:var(--ink-soft); }
.eyebrow.counter{ color:var(--stamp-red); }
.eyebrow.counter::before{ content:"⇄"; color:var(--stamp-red); }

h2{ font-size:26px; max-width:19em; }
h3{ font-size:17px; }
p{ margin:0 0 1.1em; }

/* ==========================================================================
   8. ВРЕЗКИ, СПИСКИ, ЦИТАТЫ-СЦЕНЫ, ПРАКТИКА
   ========================================================================== */
.note{
  background:var(--paper-card); border:1px solid var(--paper-line); border-left:4px solid var(--stamp-gold);
  padding:16px 18px; border-radius:2px; font-size:16.5px; margin:18px 0;
}
.note b{ color:var(--ink); }
.note-soft{ border-left-color:var(--ledger-teal); }
.note-counter{ border-left-color:var(--stamp-red); }

ul.plain{ padding-left:0; margin:0 0 1.2em; list-style:none; }
ul.plain li{ position:relative; padding-left:26px; margin-bottom:9px; }
ul.plain li::before{ content:"▸"; color:var(--ledger-teal); position:absolute; left:0; top:0; }

.scene{ font-style:italic; color:var(--ink-soft); border-left:3px solid var(--paper-line); padding-left:16px; margin:18px 0; }

.practice-row{ display:flex; gap:18px; padding:14px 0; border-bottom:1px dashed var(--paper-line); }
.practice-row:last-child{ border-bottom:none; }
.practice-num{ font-family:'PT Mono', monospace; font-size:13px; color:var(--ledger-teal); min-width:34px; padding-top:3px; }
.practice-row p{ margin-bottom:0; font-size:17px; }

/* ==========================================================================
   9. КАРТОЧКИ ИНСТРУМЕНТОВ
   ========================================================================== */
.tool-card{ background:var(--paper-card); border:1px solid var(--paper-line); border-left:4px solid var(--stamp-gold); padding:16px 18px; margin-bottom:14px; }
.tool-card h3{ font-size:16.5px; margin-bottom:6px; color:var(--ink); }
.tool-card p{ margin-bottom:0; font-size:16px; }

/* ==========================================================================
   10. ВЕРДИКТЫ / МИФЫ
   ========================================================================== */
.verdict{ border:1px solid var(--paper-line); background:var(--paper-card); padding:18px 20px; margin-bottom:16px; position:relative; }
.verdict-myth{ color:var(--ink-soft); text-decoration:line-through; font-style:italic; margin-bottom:8px; }
.verdict-real{ margin-bottom:8px; }
.verdict-todo{ color:var(--ledger-teal); font-weight:700; }
.verdict .stamp{ position:absolute; top:-10px; right:14px; font-size:11px; padding:5px 12px; transform:rotate(8deg); color:var(--stamp-red); border-color:var(--stamp-red); }

/* ==========================================================================
   11. ЧЕК-ЛИСТ
   ========================================================================== */
.checklist{ list-style:none; padding:0; margin:18px 0; }
.checklist li{ margin-bottom:10px; }
.checklist label{ display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:16.5px; }
.checkbox{
  appearance:none; width:20px; height:20px; border:2px solid var(--ink-soft); flex-shrink:0; margin-top:3px;
  cursor:pointer; position:relative; background:var(--paper-card);
}
.checkbox:checked{ background:var(--ledger-teal); border-color:var(--ledger-teal); }
.checkbox:checked::after{ content:"✓"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--paper); font-size:13px; font-weight:bold; }
.checklist label.done span{ text-decoration:line-through; color:var(--ink-soft); }
.check-counter{ font-family:'PT Mono', monospace; font-size:13px; color:var(--ink-soft); margin-top:6px; }

/* ==========================================================================
   12. ТАБЛИЦА (адаптивная — карточки на мобильных)
   ========================================================================== */
.tablewrap{ overflow-x:auto; margin:20px 0; }
table.statement{ width:100%; border-collapse:collapse; font-size:14.5px; }
table.statement thead th{
  background:var(--ink); color:var(--paper); font-family:'Oswald', sans-serif; text-transform:uppercase;
  letter-spacing:.04em; font-size:12.5px; font-weight:500; padding:10px 10px; text-align:left;
}
table.statement td{ padding:11px 10px; border-bottom:1px solid var(--paper-line); vertical-align:top; }
table.statement tbody tr:nth-child(odd){ background:var(--paper-card); }
table.statement td:first-child{ font-family:'PT Mono', monospace; font-weight:700; color:var(--ledger-teal); white-space:nowrap; }
@media (max-width:640px){
  table.statement thead{ display:none; }
  table.statement, table.statement tbody, table.statement tr, table.statement td{ display:block; width:100%; }
  table.statement tr{ border:1px solid var(--paper-line); margin-bottom:12px; padding:10px 4px; background:var(--paper-card); }
  table.statement td{ border-bottom:none; padding:6px 12px; }
  table.statement td::before{
    content:attr(data-label); display:block; font-family:'PT Mono', monospace; font-size:11px; letter-spacing:.05em;
    text-transform:uppercase; color:var(--stamp-gold); margin-bottom:2px;
  }
}

/* ==========================================================================
   13. ЦИТАТА-СТИКЕР И ДИСКЛЕЙМЕР
   ========================================================================== */
.sticky{
  background:#EFE0B8; border:1px solid #D8C18C; box-shadow:0 6px 10px -4px rgba(31,45,59,.25);
  padding:22px 24px; transform:rotate(-1deg); max-width:560px; font-size:17px; position:relative;
}
.sticky::before{ content:"«"; font-family:'Oswald',sans-serif; font-size:50px; color:#C8AC6A; position:absolute; top:-6px; left:10px; line-height:1; }
.sticky p{ margin-bottom:.6em; padding-left:18px; }
.sticky p:last-child{ margin-bottom:0; }

.disc{ border:2px dashed var(--ledger-teal); padding:18px 20px; margin:26px 0; position:relative; font-size:14.5px; color:var(--ink-soft); }
.disc .stamp{ font-size:13px; padding:6px 14px; position:absolute; top:-16px; left:18px; background:var(--paper); color:var(--ledger-teal); border-color:var(--ledger-teal); }

blockquote{ margin:0; }

/* ==========================================================================
   14. НАТИВНЫЕ КОММЕНТАРИИ WORDPRESS (заменяют старый JS-мокап)
   ========================================================================== */
.comments-area{ margin-top:10px; padding-top:32px; border-top:3px double var(--ink); }
.comments-title{ font-size:22px; }
.comment-list{ list-style:none; padding:0; margin:0 0 24px; }
.comment-list .comment-body{ background:var(--paper-card); border:1px solid var(--paper-line); border-left:4px solid var(--ledger-teal); padding:14px 18px; margin-bottom:14px; }
.comment-author .fn{ font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; color:var(--ink); font-style:normal; }
.comment-author img{ border-radius:50%; margin-right:8px; vertical-align:middle; }
.comment-meta{ font-family:'PT Mono',monospace; font-size:11.5px; color:var(--ink-soft); margin-bottom:6px; }
.comment-meta a{ color:var(--ink-soft); }
.comment-content p{ margin:0 0 .6em; font-size:16px; }
.comment-reply-link{ font-family:'PT Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.comment-respond{ background:var(--paper-card); border:1px solid var(--paper-line); padding:18px; margin-top:16px; }
.comment-reply-title{ font-size:19px; margin-bottom:6px; }
.comment-form p{ margin-bottom:14px; }
.comment-form label{ display:block; font-family:'PT Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); margin-bottom:5px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea{
  width:100%; font-family:'PT Serif',serif; font-size:15px; border:1px solid var(--paper-line); border-radius:3px;
  padding:10px; background:var(--paper); color:var(--ink);
}
.comment-form textarea{ min-height:90px; resize:vertical; }
.form-submit input[type="submit"]{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; background:var(--ledger-teal);
  color:var(--paper); border:none; padding:10px 22px; cursor:pointer; font-size:13.5px;
}
.form-submit input[type="submit"]:hover{ background:var(--ink); }
.no-comments{ font-style:italic; color:var(--ink-soft); }

/* ==========================================================================
   15. ЛЕНТА ЗАПИСЕЙ (index.php / архивы)
   ========================================================================== */
.archive-intro{ padding:48px 0 24px; }
.page-title{ font-size:clamp(26px,4.5vw,38px); }
.page-description{ color:var(--ink-soft); font-size:17px; }
.post-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:22px; padding-bottom:48px; list-style:none; margin:0; }
.post-card{ background:var(--paper-card); border:1px solid var(--paper-line); border-left:4px solid var(--stamp-gold); padding:18px; display:flex; flex-direction:column; }
.post-card .post-thumb{ display:block; margin:-18px -18px 14px; }
.post-card .post-thumb img{ width:100%; height:160px; object-fit:cover; }
/* .entry-subtitle — см. секцию 29 (единый размер для всех контекстов) */
.post-card-terms{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.post-card h2{ font-size:19px; margin-bottom:6px; }
.post-card h2 a{ color:var(--ink); text-decoration:none; }
.post-card h2 a:hover{ color:var(--ledger-teal); }
.post-card-tag{
  font-family:'PT Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.03em;
  color:var(--stamp-gold); border:1px dashed var(--stamp-gold); border-radius:16px; padding:3px 9px; text-decoration:none;
}
.post-card-tag:hover{ background:var(--stamp-gold); color:var(--paper); border-style:solid; }
.post-card .post-date{ font-family:'PT Mono',monospace; font-size:11.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px; }
.post-card .post-excerpt{ font-size:15.5px; color:var(--ink-soft); flex-grow:1; }
.post-card .post-excerpt p{ margin-bottom:0; }
.post-card .read-more{ font-family:'PT Mono',monospace; font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; margin-top:12px; display:inline-block; }
.pagination{ display:flex; gap:8px; justify-content:center; padding:20px 0 60px; flex-wrap:wrap; list-style:none; }
.pagination .page-numbers{ font-family:'PT Mono',monospace; font-size:13px; padding:6px 12px; border:1px solid var(--paper-line); color:var(--ink-soft); text-decoration:none; }
.pagination .page-numbers.current{ background:var(--ledger-teal); color:var(--paper); border-color:var(--ledger-teal); }

/* ==========================================================================
   17. ОБЛАКА КАТЕГОРИЙ/ТЕГОВ — СТИЛИ ПИЛЮЛЬ (используются блоками главной)
   ========================================================================== */
.category-cloud, .tag-cloud{
  display:flex; flex-wrap:wrap; gap:10px; background:var(--paper-card); border:1px solid var(--paper-line);
  border-radius:10px; padding:18px 20px;
}
.category-cloud a, .tag-cloud a{
  display:inline-block; font-family:'PT Mono',monospace; text-transform:uppercase; letter-spacing:.04em;
  text-decoration:none; line-height:1; padding:7px 15px; border-radius:30px; border:1.5px solid var(--ledger-teal);
  color:var(--ledger-teal); background:var(--paper); transition:background .15s ease, color .15s ease;
}
.category-cloud a:hover, .category-cloud a:focus{ background:var(--ledger-teal); color:var(--paper); }
.tag-cloud a{ border-style:dashed; border-color:var(--stamp-gold); color:var(--stamp-gold); }
.tag-cloud a:hover, .tag-cloud a:focus{ background:var(--stamp-gold); color:var(--paper); border-style:solid; }

/* ==========================================================================
   18. СТАТИЧЕСКИЕ СТРАНИЦЫ (page.php)
   ========================================================================== */
.zd-page{ padding:56px 0 64px; }
.page-header{ margin-bottom:28px; border-bottom:3px double var(--ink); padding-bottom:18px; }
.page-content{ font-size:18px; }
.page-content > *:first-child{ margin-top:0; }

/* ==========================================================================
   19. АРХИВ АВТОРА
   ========================================================================== */
.author-intro{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; padding-bottom:24px; }
.author-intro img{ border-radius:50%; border:1px solid var(--paper-line); }
.author-intro .page-title{ margin-bottom:4px; }
.author-intro .page-description{ margin-bottom:0; }

/* ==========================================================================
   20. ФОРМА ПОИСКА (searchform.php)
   ========================================================================== */
.search-form{ display:flex; gap:10px; max-width:480px; margin:20px 0; flex-wrap:wrap; }
.search-field{
  flex:1 1 220px; font-family:'PT Serif', serif; font-size:15px; border:1px solid var(--paper-line);
  border-radius:3px; padding:10px 12px; background:var(--paper-card); color:var(--ink);
}
.search-submit{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; background:var(--ledger-teal);
  color:var(--paper); border:none; padding:10px 22px; cursor:pointer; font-size:13.5px;
}
.search-submit:hover{ background:var(--ink); }
.search-no-results{ padding-bottom:48px; }

/* ==========================================================================
   21. СТРАНИЦА 404
   ========================================================================== */
.error-404{ padding:80px 0 90px; text-align:center; }
.error-stamp{ margin-bottom:26px; }
.error-404 .page-title{ max-width:none; }
.error-text{ max-width:42em; margin:0 auto 26px; color:var(--ink-soft); font-size:17px; }
.error-404 .search-form{ margin:0 auto 28px; justify-content:center; }
.error-back{ font-family:'PT Mono',monospace; font-size:13px; text-transform:uppercase; letter-spacing:.04em; margin:0; }

/* ==========================================================================
   22. КОМПОНЕНТЫ ИЗ ОСТАЛЬНЫХ СТАТЕЙ АРХИВА (недвижимость / инвестиции)
   ----------------------------------------------------------------------
   Собрано из <style> всех 12 макетов архива «финансовый дневник», чтобы
   при копипасте разметки любой из этих статей в блок «Произвольный HTML»
   всё отрисовывалось корректно без правок CSS. Если значения в разных
   макетах чуть отличались (шрифты на 0.5px, отступы на 2px и т.п.) —
   взято наиболее частое значение; видимых отличий это не даёт.
   ========================================================================== */

/* --- ledger-row / ledger-num / ledger-body: синоним practice-row,
       встречается в части статей под другим именем --- */
.ledger-row{ display:flex; gap:18px; padding:16px 0; border-bottom:1px dashed var(--paper-line); position:relative; }
.ledger-row:last-child{ border-bottom:none; }
.ledger-num{ font-family:'PT Mono', monospace; font-size:13px; color:var(--stamp-gold); min-width:34px; padding-top:3px; }
.ledger-num.danger{ color:var(--stamp-red); font-weight:700; min-width:40px; }
.ledger-num.teal{ color:var(--ledger-teal); }
.ledger-body h3{ font-size:18px; margin-bottom:6px; }
.ledger-body p{ margin-bottom:0; color:var(--ink); font-size:17px; }
.ledger-body p + p{ margin-top:8px; }

/* --- receipt: карточка-«чек» с зигзагообразным краем для расчётов --- */
.receipt{
  font-family:'PT Mono', monospace; font-size:14.5px; background:var(--paper-card); border:1px solid var(--paper-line);
  max-width:420px; margin:24px 0; padding:20px 22px 24px; position:relative;
  clip-path:polygon(
    0% 2%,2% 0%,5% 2%,8% 0%,11% 2%,14% 0%,17% 2%,20% 0%,23% 2%,26% 0%,29% 2%,32% 0%,35% 2%,38% 0%,41% 2%,44% 0%,47% 2%,50% 0%,
    53% 2%,56% 0%,59% 2%,62% 0%,65% 2%,68% 0%,71% 2%,74% 0%,77% 2%,80% 0%,83% 2%,86% 0%,89% 2%,92% 0%,95% 2%,98% 0%,100% 2%,
    100% 98%,98% 100%,95% 98%,92% 100%,89% 98%,86% 100%,83% 98%,80% 100%,77% 98%,74% 100%,71% 98%,68% 100%,65% 98%,62% 100%,
    59% 98%,56% 100%,53% 98%,50% 100%,47% 98%,44% 100%,41% 98%,38% 100%,35% 98%,32% 100%,29% 98%,26% 100%,23% 98%,20% 100%,
    17% 98%,14% 100%,11% 98%,8% 100%,5% 98%,2% 100%,0% 98%
  );
}
.receipt h4{ font-family:'Oswald', sans-serif; font-size:14px; text-transform:uppercase; letter-spacing:.04em; color:var(--ledger-teal); margin:0 0 10px; }
.receipt .r-row{ display:flex; justify-content:space-between; gap:14px; padding:3px 0; }
.receipt .r-row + .r-row{ margin-top:6px; }
.receipt .r-row.total{ border-top:1px dashed var(--ink-soft); margin-top:8px; padding-top:8px; font-weight:700; color:var(--stamp-red); }
.receipt .r-row.total.positive{ color:var(--ledger-teal); }
.receipt .r-foot{ margin-top:12px; font-size:12.5px; color:var(--ink-soft); }

/* --- duo-grid / duo-receipt / risk-grid: сетки 2 и 3 колонки --- */
.duo-grid, .duo-receipt{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:20px 0; }
.duo-receipt .receipt{ max-width:none; margin:0; }
.risk-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px; }
@media (max-width:640px){
  .duo-grid, .duo-receipt, .risk-grid{ grid-template-columns:1fr; }
}

/* --- risk-card: карточка риска с иконкой и цветной левой границей --- */
.risk-card{ background:var(--paper-card); border:1px solid var(--paper-line); padding:18px; }
.risk-card h3{ font-size:16px; margin-bottom:6px; }
.risk-card p{ font-size:15px; color:var(--ink-soft); margin:0; }
.risk-card svg{ width:30px; height:30px; stroke:var(--ledger-teal); margin-bottom:10px; }
.risk-card.danger{ border-left:4px solid var(--stamp-red); }
.risk-card.gray{ border-left:4px solid var(--ink-soft); }

/* --- scenario: строка «сценарий» с цветной левой границей (хорошо/средне/плохо) --- */
.scenario{ border-left:5px solid var(--paper-line); padding:12px 16px; margin-bottom:10px; background:var(--paper-card); }
.scenario b{ font-family:'PT Mono', monospace; text-transform:uppercase; font-size:12.5px; letter-spacing:.05em; }
.scenario.good{ border-color:var(--ledger-teal); }
.scenario.mid{ border-color:var(--stamp-gold); }
.scenario.bad{ border-color:var(--stamp-red); }

/* --- testimony: серьёзная цитата-свидетельство, без штампов и иронии --- */
.testimony{ background:var(--paper-card); border:1px solid var(--paper-line); border-left:4px solid var(--ink); padding:22px 24px; margin:20px 0; }
.testimony .src{ font-family:'PT Mono', monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:14px; display:block; }
.testimony p{ font-size:17px; }
.testimony .outcome{ margin-top:14px; padding:12px 14px; background:var(--paper); border:1px dashed var(--ink-soft); font-size:15.5px; color:var(--ink-soft); }

/* --- interview / recovery / problems: нумерованные списки с круглым счётчиком ---
       interview — нейтральный тон (вопрос-ответ), recovery — позитивный (план
       выхода), problems — негативный (список проблем), отличаются только
       цветом счётчика */
.interview, .recovery, .problems{ list-style:none; padding:0; margin:18px 0; }
.interview{ counter-reset:q; }
.recovery{ counter-reset:rec; }
.problems{ counter-reset:pr; }
.interview b, .recovery b, .problems b{ color:var(--ink); }
.interview li, .recovery li, .problems li{ position:relative; padding:14px 0 14px 46px; border-bottom:1px dashed var(--paper-line); }
.interview li:last-child, .recovery li:last-child, .problems li:last-child{ border-bottom:none; }
.interview li::before, .recovery li::before, .problems li::before{
  position:absolute; left:0; top:12px; width:30px; height:30px; border-radius:50%; border:2px solid var(--ledger-teal);
  color:var(--ledger-teal); font-family:'PT Mono', monospace; font-weight:700; display:flex; align-items:center;
  justify-content:center; font-size:14px;
}
.interview li{ counter-increment:q; }
.interview li::before{ content:counter(q); }
.recovery li{ counter-increment:rec; }
.recovery li::before{ content:counter(rec); }
.problems li{ counter-increment:pr; }
.problems li::before{ content:counter(pr); border-color:var(--stamp-red); color:var(--stamp-red); }

/* --- мелкие модификаторы, встречавшиеся в разных макетах --- */
.support-note{ margin-top:16px; padding:16px 18px; background:var(--paper-card); border:1px solid var(--paper-line); border-left:4px solid var(--ledger-teal); font-size:16px; }
.tag-red{ font-family:'PT Mono', monospace; font-size:10.5px; letter-spacing:.08em; color:var(--stamp-red); border:1px solid var(--stamp-red); border-radius:9999px; padding:2px 9px; margin-left:8px; white-space:nowrap; vertical-align:middle; }
.note-danger{ border-left-color:var(--stamp-red); }
.eyebrow.danger{ color:var(--stamp-red); }
.eyebrow.danger::before{ content:"!"; color:var(--stamp-red); }
.stamp.teal{ color:var(--ledger-teal); border-color:var(--ledger-teal); }
.stamp.danger{ color:var(--stamp-red); border-color:var(--stamp-red); }
.disc.danger{ border-color:var(--stamp-red); }

/* --- Метки записи (single.php, после тела статьи) --- */
.post-tags{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:24px 0 0; }
.post-tags-label{
  font-family:'PT Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--ink-soft); flex-shrink:0;
}
.post-tags .tag-cloud{ flex:1; background:none; border:none; padding:0; }

/* ==========================================================================
   23. МЕТА В КОНЦЕ ЗАПИСИ (поделиться / лайк / комментарии)
   ========================================================================== */
.post-meta-bottom{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
  padding:24px 0; border-top:1px solid var(--paper-line); margin-top:4px;
}
.share-buttons{ display:flex; align-items:center; gap:10px; }
.share-label{ font-family:'PT Mono', monospace; font-size:13px; color:var(--ink-soft); margin-right:2px; }
.share-btn{
  display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:6px;
  background:var(--paper-card); border:1px solid var(--paper-line); color:var(--ledger-teal); text-decoration:none;
}
.share-btn:hover, .share-btn:focus-visible{ background:var(--ledger-teal); color:var(--paper); }
.share-btn .ico{ width:16px; height:16px; }
.post-meta-bottom-stats{
  display:flex; align-items:center; gap:18px; font-family:'PT Mono', monospace; font-size:13.5px; color:var(--ink-soft);
}

/* ==========================================================================
   24. АЛЬТЕРНАТИВНЫЙ ВИД АРХИВА — ЛЕНТА (template-parts/post-feed.php)
   ========================================================================== */
.post-feed{ display:flex; flex-direction:column; list-style:none; margin:0; padding:0; }
.post-feed-item{
  background:var(--paper-card); border:1px solid var(--paper-line); border-radius:10px; padding:20px 22px; margin-bottom:20px;
}
.post-feed-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; flex-wrap:wrap; }
.post-feed-date{ font-family:'PT Mono', monospace; font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); }
.post-feed-terms{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 0; }
.post-feed-cat-badge{
  font-family:'PT Mono', monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em;
  background:var(--paper); border:1px solid var(--ledger-teal); color:var(--ledger-teal); padding:4px 10px;
  border-radius:20px; text-decoration:none; white-space:nowrap;
}
.post-feed-cat-badge:hover{ background:var(--ledger-teal); color:var(--paper); }
.post-feed-title{ font-size:32px; line-height:1.2; margin-bottom:8px; }
.post-feed-title a{ color:var(--ink); text-decoration:none; }
.post-feed-title a:hover{ color:var(--ledger-teal); }
.post-feed-item .entry-subtitle{ margin-bottom:14px; }
.post-feed-thumb{ display:block; border-radius:8px; overflow:hidden; margin-bottom:14px; border:1px solid var(--paper-line); }
.post-feed-thumb img{ width:100%; height:auto; display:block; }
.post-feed-stats{ display:flex; gap:18px; flex-wrap:wrap; font-family:'PT Mono', monospace; font-size:13px; color:var(--ink-soft); }

/* ==========================================================================
   26. ОБЩИЕ ЭЛЕМЕНТЫ ДЛЯ БЛОКОВ ГЛАВНОЙ И ПОХОЖИХ ЗАПИСЕЙ
   ========================================================================== */
.section-heading{
  font-family:'PT Mono', monospace; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:18px; padding-bottom:12px; border-bottom:3px double var(--ink);
}
.home-block{ padding:40px 0; border-bottom:1px solid var(--paper-line); }
.home-block:last-of-type{ border-bottom:none; }
.mini-stamp{
  display:inline-flex; align-items:center; font-family:'Oswald',sans-serif; font-weight:700; font-size:10.5px;
  text-transform:uppercase; letter-spacing:.05em; color:var(--ledger-teal); border:2px solid var(--ledger-teal);
  border-radius:50% / 40%; padding:4px 10px; transform:rotate(-4deg); background:var(--paper);
}

/* ==========================================================================
   27. ПОХОЖИЕ ЗАПИСИ — 4 ВАРИАНТА (template-parts/related-posts.php)
   ========================================================================== */
.related-posts{ padding:40px 0 8px; }

/* --- Ведомость --- */
.related-ledger-row{ display:flex; align-items:flex-start; gap:16px; padding:14px 0; border-bottom:1px dashed var(--paper-line); }
.related-ledger-row:last-child{ border-bottom:none; }
.related-ledger-cat{ font-family:'PT Mono',monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--ledger-teal); min-width:120px; flex-shrink:0; padding-top:3px; }
.related-ledger-body{ display:flex; flex-direction:column; gap:3px; flex:1; min-width:0; }
.related-ledger-title{ font-family:'Oswald',sans-serif; font-size:18px; }
.related-ledger-title a{ color:var(--ink); text-decoration:none; }
.related-ledger-title a:hover{ color:var(--ledger-teal); }
.related-ledger-subtitle{ margin:0; }
.related-ledger-arrow{ font-family:'PT Mono',monospace; color:var(--paper-line); flex-shrink:0; padding-top:3px; }
@media (max-width:480px){ .related-ledger-row{ flex-wrap:wrap; gap:4px; } .related-ledger-cat{ min-width:0; } }

/* --- Картотека --- */
.related-chip-wrap{ display:flex; flex-wrap:wrap; gap:18px 16px; padding-top:6px; }
.related-chip{
  --r:-1.4deg; background:var(--paper); border:1px solid var(--paper-line); border-left:3px solid var(--stamp-gold);
  border-radius:3px; padding:13px 16px; max-width:230px; flex:1 1 200px;
  box-shadow:0 4px 8px -4px rgba(31,45,59,.18); transform:rotate(var(--r));
}
.related-chip:nth-child(2n){ --r:1.1deg; border-left-color:var(--ledger-teal); }
.related-chip:nth-child(3n){ --r:-0.6deg; border-left-color:var(--stamp-red); }
.related-chip-cat{ font-family:'PT Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); display:block; margin-bottom:5px; }
.related-chip-title{ font-family:'Oswald',sans-serif; font-size:17px; line-height:1.3; display:block; }
.related-chip a{ color:var(--ink); text-decoration:none; }
.related-chip a:hover{ color:var(--ledger-teal); }
.related-chip-subtitle{ margin:4px 0 0; }

/* --- Мини-лента --- */
.related-mini-item{ display:flex; gap:14px; align-items:center; padding:14px 0; border-bottom:1px dashed var(--paper-line); }
.related-mini-item:last-child{ border-bottom:none; }
.related-mini-thumb{ width:62px; height:62px; border-radius:6px; overflow:hidden; flex-shrink:0; border:1px solid var(--paper-line); background:var(--paper); display:block; }
.related-mini-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.related-mini-thumb--placeholder{ display:flex; align-items:center; justify-content:center; font-family:'Oswald',sans-serif; font-size:22px; color:var(--stamp-gold); opacity:.5; }
.related-mini-body{ flex:1; min-width:0; display:flex; flex-direction:column; }
.related-mini-cat{ font-family:'PT Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--ledger-teal); margin-bottom:3px; }
.related-mini-title{ font-family:'Oswald',sans-serif; font-size:18px; line-height:1.3; }
.related-mini-title a{ color:var(--ink); text-decoration:none; }
.related-mini-title a:hover{ color:var(--ledger-teal); }
.related-mini-subtitle{ margin:3px 0 0; }

/* --- Полароид-сетка --- */
.related-polaroid-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px 20px; padding-top:8px; }
.related-polaroid{ --r:-2deg; background:#fff; padding:9px 9px 16px; box-shadow:0 8px 16px -8px rgba(31,45,59,.3); transform:rotate(var(--r)); transition:transform .15s ease; }
.related-polaroid:nth-child(2){ --r:1.6deg; }
.related-polaroid:nth-child(3){ --r:-1deg; }
.related-polaroid:hover{ transform:rotate(0deg) scale(1.02); }
.related-polaroid a{ text-decoration:none; color:inherit; display:block; }
.related-polaroid-img{ width:100%; height:120px; object-fit:cover; display:block; }
.related-polaroid-cat{ font-family:'PT Mono',monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--stamp-gold); margin-top:10px; }
.related-polaroid-title{ font-family:'Oswald',sans-serif; font-size:16px; line-height:1.3; margin-top:4px; color:var(--ink); }
.related-polaroid-subtitle{ margin:4px 0 0; }
@media (max-width:640px){ .related-polaroid-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:420px){ .related-polaroid-grid{ grid-template-columns:1fr; } .related-polaroid{ transform:none; } }

/* ==========================================================================
   28. БЛОКИ ГЛАВНОЙ — ЛЕНТА (СТОРИТЕЛЛИНГ)
   ----------------------------------------------------------------------
   Единый поток без подписанных секций. Пост становится крупной
   карточкой («лид»), если отмечен «Крупная карточка в ленте» в
   метабоксе «Главная страница», или просто идёт первым в потоке —
   остальные показываются обычными компактными строками.
   ========================================================================== */
.stream-feed{ display:flex; flex-direction:column; }
.stream-item{
  display:flex; gap:20px; align-items:center; padding:20px 22px; margin-bottom:16px;
  background:var(--paper-card); border:1px solid var(--paper-line); border-radius:10px;
}
.stream-item:last-child{ margin-bottom:0; }
.stream-thumb{ flex-shrink:0; border-radius:6px; overflow:hidden; display:block; }
.stream-thumb img{ display:block; }
.stream-item:not(.stream-item--lead) .stream-thumb{ width:130px; height:100px; }
.stream-item:not(.stream-item--lead) .stream-thumb img{ width:100%; height:100%; object-fit:cover; }
.stream-item--lead{ flex-direction:column; align-items:stretch; gap:16px; }
.stream-item--lead .stream-thumb{ width:100%; height:320px; }
.stream-item--lead .stream-thumb img{ width:100%; height:100%; object-fit:cover; }
.stream-body{ flex:1; min-width:0; }
.stream-cats{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 10px; }
.stream-pill{ display:inline-block; }
.stream-title{ margin:0; }
.stream-item--lead .stream-title{ font-size:32px; line-height:1.18; }
.stream-item:not(.stream-item--lead) .stream-title{ font-size:19px; line-height:1.25; }
.stream-title a{ color:var(--ink); text-decoration:none; }
.stream-title a:hover{ color:var(--ledger-teal); }
.stream-meta{
  font-family:'PT Mono',monospace; font-size:12px; color:var(--ink-soft); display:flex; gap:6px;
  align-items:center; margin:10px 0 0; flex-wrap:wrap;
}
.stream-meta .ico{ width:13px; height:13px; }
@media (max-width:600px){
  .stream-item:not(.stream-item--lead){ flex-direction:column; align-items:stretch; }
  .stream-item:not(.stream-item--lead) .stream-thumb{ width:100%; height:180px; }
}

/* --- Гостевые посты: переиспользуют .ill-card (см. раздел 34), без отдельных стилей здесь --- */

/* ==========================================================================
   29. ЕДИНЫЙ РАЗМЕР ПОДЗАГОЛОВКОВ (.entry-subtitle) — БЕЗ ИСКЛЮЧЕНИЙ
   ----------------------------------------------------------------------
   Раньше в разных блоках подзаголовок мог быть 13-14.5px и формально
   того же PT Serif italic, но из-за мелкого размера на глаз казался
   другим шрифтом. Теперь везде, где встречается .entry-subtitle —
   только это правило, никаких локальных уменьшений.
   ========================================================================== */
.entry-subtitle{
  font-family:'PT Serif', serif; font-style:italic; font-weight:400; color:var(--ink-soft);
  font-size:16px; line-height:1.4; margin:6px 0 8px;
}

/* ==========================================================================
   33. КОМПОНЕНТЫ ДЛЯ ТЕЛА СТАТЬИ: world-grid, разделитель
   ========================================================================== */
.world-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:18px 0; }
@media (max-width:640px){ .world-grid{ grid-template-columns:1fr; } }
.world-card{ background:var(--paper-card); border:1px solid var(--paper-line); padding:14px 16px; }
.world-card h3{ font-size:15px; margin-bottom:6px; color:var(--ledger-teal); }
.world-card p{ font-size:15px; margin-bottom:0; }

/* декоративный SVG-разделитель между разделами (контент сам несёт <path d="..."/>) */
.torn-divider{ display:block; width:100%; height:14px; margin:0; opacity:.5; }
.torn-divider path{ fill:none; stroke:var(--paper-line); stroke-width:2; }

/* Нумерованный список сценариев (кружок с цифрой + текст) */
.scenario-row{ display:flex; gap:16px; align-items:flex-start; margin:16px 0; }
.scenario-num{
  font-family:'PT Mono', monospace; font-weight:700; font-size:14px; color:var(--paper);
  background:var(--stamp-red); border-radius:50%; width:30px; height:30px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.scenario-row p{ margin-bottom:0; }

/* Карточка реального кейса (удачный/неудачный — цвет левой границы) */
.case-card{ background:var(--paper-card); border:1px solid var(--paper-line); padding:14px 16px; margin-bottom:12px; border-left:4px solid var(--ledger-teal); }
.case-card.fail{ border-left-color:var(--stamp-red); }
.case-card h4{ font-family:'Oswald',sans-serif; font-size:14px; text-transform:uppercase; letter-spacing:.03em; margin:0 0 6px; color:var(--ledger-teal); }
.case-card.fail h4{ color:var(--stamp-red); }
.case-card p{ margin-bottom:0; font-size:16px; }

/* Сетка из двух карточек-алгоритмов (сравнение "если А" / "если Б") */
.algo-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:18px 0; }
@media (max-width:640px){ .algo-grid{ grid-template-columns:1fr; } }
.algo-card{ background:var(--paper-card); border:1px solid var(--paper-line); padding:16px 18px; }
.algo-card h4{ font-family:'Oswald',sans-serif; font-size:15px; margin:0 0 8px; color:var(--ink); }
.algo-card p{ font-size:15.5px; margin-bottom:0; }

/* Изображения внутри тела статьи — та же рамка, что у миниатюр */
.article-sections img{ border:1px solid var(--paper-line); border-radius:8px; }

/* ==========================================================================
   34. ВНУТРИТЕКСТОВАЯ ПЕРЕЛИНКОВКА (4 варианта, вставляются вручную в тело статьи)
   ========================================================================== */
.ill-note{
  background:var(--paper); border:1px solid var(--paper-line); border-left:4px solid var(--ledger-teal);
  padding:14px 18px; margin:24px 0; font-size:15.5px;
}
.ill-note .ill-label{
  font-family:'PT Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--ledger-teal); display:block; margin-bottom:6px;
}
.ill-note a{
  font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; color:var(--ink); text-decoration:none;
  border-bottom:1px dashed var(--ledger-teal);
}
.ill-note a:hover{ color:var(--ledger-teal); }
.ill-note .ill-reason{ color:var(--ink-soft); font-size:14px; margin-top:5px; margin-bottom:0; }

.ill-sticky{
  background:#EFE0B8; border:1px solid #D8C18C; box-shadow:0 6px 10px -4px rgba(31,45,59,.22);
  padding:20px 24px; transform:rotate(-1deg); max-width:480px; margin:30px auto; font-size:15.5px; position:relative;
}
.ill-sticky::before{
  content:"☞"; font-family:'Oswald',sans-serif; font-size:26px; color:#C8AC6A; position:absolute; top:-2px; left:14px;
}
.ill-sticky .ill-quote{ font-style:italic; margin:0 0 12px; padding-left:26px; color:var(--ink); }
.ill-sticky a.ill-cta{
  font-family:'Oswald',sans-serif; font-weight:700; text-transform:uppercase; font-size:13px; letter-spacing:.03em;
  color:var(--ledger-teal); text-decoration:none; padding-left:26px; display:inline-block;
}
.ill-sticky a.ill-cta:hover{ color:var(--ink); }

.ill-card{
  display:flex; gap:16px; align-items:center; background:var(--paper-card); border:1px solid var(--paper-line);
  border-radius:8px; padding:16px; margin:28px 0;
}
.ill-card .ill-thumb{ width:78px; height:78px; border-radius:6px; flex-shrink:0; overflow:hidden; border:1px solid var(--paper-line); }
.ill-card .ill-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.ill-card .ill-body{ flex:1; min-width:0; }
.ill-card .ill-label{
  font-family:'PT Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.04em;
  color:var(--ink-soft); margin-bottom:4px; display:block;
}
.ill-card h4{ font-size:16px; margin:0 0 6px; line-height:1.3; }
.ill-card h4 a{ color:var(--ink); text-decoration:none; }
.ill-card h4 a:hover{ color:var(--ledger-teal); }
.ill-card .ill-cta{ font-family:'PT Mono',monospace; font-size:12px; text-transform:uppercase; color:var(--ledger-teal); text-decoration:none; }

.ill-contextual{
  color:var(--ledger-teal); text-decoration:none; font-weight:600; border-bottom:1.5px dotted var(--ledger-teal);
}
.ill-contextual:hover{ border-bottom-style:solid; }
.ill-contextual .ill-arrow{ font-size:.7em; vertical-align:super; margin-left:1px; }

/* --- Сноска под текстом (ссылки на официальные источники) --- */
.gov-fn-mark{
  font-size:.7em; vertical-align:super; color:var(--ledger-teal); font-weight:700; margin-left:1px;
  text-decoration:none; border:none;
}
.gov-fn-mark:hover{ text-decoration:underline; }
.gov-footnote-list{ margin:28px 0 0; padding-top:14px; border-top:1px solid var(--paper-line); font-size:13.5px; color:var(--ink-soft); }
.gov-footnote-list-title{
  font-family:'PT Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--ink-soft); margin-bottom:8px; display:block;
}
.gov-footnote-item{ display:flex; gap:8px; padding:4px 0; }
.gov-footnote-num{ color:var(--ink-soft); flex-shrink:0; }
.gov-footnote-item a{ color:var(--ledger-teal); }

/* ==========================================================================
   35. МОБИЛЬНЫЙ ФИКС СТРОКИ МЕТЫ (Выписка №… не влезает в одну строку)
   ========================================================================== */
@media (max-width:480px){
  .post-meta-top .meta-item:first-child{ flex-basis:100%; }
}

/* ==========================================================================
   36. МОБИЛЬНОЕ МЕНЮ — БОКОВАЯ ВЫЕЗЖАЮЩАЯ (header.php)
   ========================================================================== */
.menu-toggle{
  display:none; background:none; border:none; padding:6px; flex-direction:column; gap:4px; width:30px; cursor:pointer;
}
.menu-toggle span{ display:block; height:2px; width:100%; background:var(--ink); transition:transform .25s, opacity .2s; }
.menu-toggle.is-open span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.menu-toggle.is-open span:nth-child(2){ opacity:0; }
.menu-toggle.is-open span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

/* --- Дропдаун «Категории» (стикер-плашки) — десктоп --- */
.nav-cat-dropdown{ position:relative; }
.nav-parent-btn{
  background:none; border:none; font:inherit; font-family:'PT Mono',monospace; font-size:12px; text-transform:uppercase;
  letter-spacing:.03em; color:var(--ink-soft); display:flex; align-items:center; gap:4px; padding:4px 0; cursor:pointer;
}
.nav-parent-btn:hover, .nav-parent-btn[aria-expanded="true"]{ color:var(--ledger-teal); }
.nav-parent-btn .chev{ font-size:9px; transition:transform .2s; }
.nav-parent-btn[aria-expanded="true"] .chev{ transform:rotate(180deg); }
.nav-cat-panel{
  display:none; position:absolute; top:100%; left:0; margin-top:12px; background:var(--paper-card);
  border:1px solid var(--paper-line); border-radius:8px; box-shadow:0 10px 18px -8px rgba(31,45,59,.25);
  padding:12px; flex-wrap:wrap; gap:8px; min-width:240px; z-index:60;
}
.nav-cat-panel.is-open{ display:flex; }
.nav-cat-panel a{
  font-family:'PT Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.04em;
  border:1.5px solid var(--ledger-teal); color:var(--ledger-teal); border-radius:20px; padding:5px 12px; text-decoration:none;
}
.nav-cat-panel a:hover{ background:var(--ledger-teal); color:var(--paper); }

.drawer-overlay{
  position:fixed; inset:0; background:rgba(31,45,59,.5); opacity:0; pointer-events:none;
  transition:opacity .25s ease; z-index:900;
}
.drawer-overlay.is-open{ opacity:1; pointer-events:auto; }
.drawer-panel{
  position:fixed; top:0; right:0; bottom:0; width:78%; max-width:300px; background:var(--paper);
  transform:translateX(100%); transition:transform .3s ease; box-shadow:-10px 0 24px -10px rgba(0,0,0,.35);
  display:flex; flex-direction:column; padding:60px 24px 24px; z-index:901; overflow-y:auto;
}
.drawer-panel.is-open{ transform:translateX(0); }
.drawer-close{
  position:absolute; top:18px; right:18px; background:none; border:none; font-size:22px; line-height:1;
  color:var(--ink-soft); cursor:pointer;
}
.drawer-nav ul{ list-style:none; margin:0; padding:0; }
.drawer-nav li{ border-bottom:1px dashed var(--paper-line); }
.drawer-nav a{ display:block; padding:14px 0; font-family:'Oswald',sans-serif; font-size:17px; color:var(--ink); text-decoration:none; }
.drawer-nav a:hover{ color:var(--ledger-teal); }

/* --- Дропдаун «Категории» — мобильная (внутри drawer-nav) --- */
.drawer-parent-row{ display:flex; align-items:center; justify-content:space-between; border-bottom:1px dashed var(--paper-line); }
.drawer-parent-row .drawer-link{ border-bottom:none; flex:1; }
.drawer-chev-btn{ background:none; border:none; padding:14px 4px; color:var(--ink-soft); cursor:pointer; }
.drawer-chev-btn .chev{ font-size:11px; display:inline-block; transition:transform .2s; }
.drawer-chev-btn[aria-expanded="true"] .chev{ transform:rotate(180deg); }
.drawer-cat-panel{ display:none; flex-wrap:wrap; gap:6px; padding:12px 0; }
.drawer-cat-panel.is-open{ display:flex; }
.drawer-cat-panel a{
  font-family:'PT Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.04em;
  border:1.5px solid var(--ledger-teal); color:var(--ledger-teal); border-radius:16px; padding:4px 10px; text-decoration:none;
}
.drawer-cat-panel a:hover{ background:var(--ledger-teal); color:var(--paper); }

.drawer-social{ display:flex; gap:8px; margin-top:auto; padding-top:18px; }
.drawer-social a{
  display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:6px;
  background:var(--paper-card); border:1px solid var(--paper-line); color:var(--ledger-teal);
}
.drawer-social a:hover{ background:var(--ledger-teal); color:var(--paper); }

@media (max-width:720px){
  .site-nav, .nav-cat-dropdown{ display:none; }
  .menu-toggle{ display:flex; }
}

/* ==========================================================================
   37. ПОИСК — ОВЕРЛЕЙ НА ВЕСЬ ЭКРАН (header.php)
   ========================================================================== */
.search-toggle{
  background:none; border:none; width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  color:var(--ink); border-radius:6px; cursor:pointer; flex-shrink:0;
}
.search-toggle:hover{ background:var(--paper-card); }
.search-overlay{
  position:fixed; inset:0; background:var(--paper); opacity:0; pointer-events:none;
  transition:opacity .25s ease; z-index:950; display:flex; flex-direction:column;
}
.search-overlay.is-open{ opacity:1; pointer-events:auto; }
.search-overlay-head{ display:flex; justify-content:flex-end; padding:20px 24px 0; }
.search-overlay-close{ background:none; border:none; font-size:24px; line-height:1; color:var(--ink-soft); cursor:pointer; }
.search-overlay-body{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 24px 60px; gap:20px; }
.search-overlay .search-form{ width:100%; max-width:460px; margin:0; }
.search-overlay .search-field{
  width:100%; font-size:22px; padding:14px 4px; border:none; border-bottom:2px solid var(--ink);
  background:transparent; text-align:center; color:var(--ink);
}
.search-overlay .search-field:focus{ outline:none; border-bottom-color:var(--ledger-teal); }
.search-overlay .search-submit{ display:none; }

/* ==========================================================================
   38. ПОДВАЛ САЙТА — «ДОКУМЕНТ ЗАКРЫТИЯ»
   ========================================================================== */
.site-footer{ border-top:3px double var(--ink); padding:30px 0 0; font-family:'PT Serif', serif; }
.footer-stats{
  display:flex; gap:28px; flex-wrap:wrap; padding-bottom:22px; margin-bottom:22px; border-bottom:1px dashed var(--paper-line);
  font-family:'PT Mono',monospace; font-size:12.5px; color:var(--ink-soft);
}
.footer-stats b{ color:var(--ink); font-family:'Oswald',sans-serif; font-size:15px; display:block; margin-bottom:2px; }
.footer-cats{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.footer-cats a{
  font-family:'PT Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.04em;
  border:1px solid var(--paper-line); color:var(--ink-soft); padding:4px 10px; border-radius:20px; text-decoration:none;
}
.footer-cats a:hover{ color:var(--ledger-teal); border-color:var(--ledger-teal); }
.footer-signoff{
  font-style:italic; color:var(--ink-soft); font-size:14px; padding:18px 0; border-top:1px solid var(--paper-line);
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
}
.footer-social{ display:flex; gap:8px; flex-shrink:0; }
.footer-social a{
  display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:6px;
  background:var(--paper-card); border:1px solid var(--paper-line); color:var(--ledger-teal);
}
.footer-social a:hover{ background:var(--ledger-teal); color:var(--paper); }
.site-footer-bottom{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
  padding:14px 0 28px; font-family:'PT Mono',monospace; font-size:11.5px; color:var(--ink-soft);
}
.site-footer-bottom nav ul{ display:flex; gap:16px; list-style:none; margin:0; padding:0; }
.site-footer-bottom nav a{ color:var(--ink-soft); text-decoration:none; }
.site-footer-bottom nav a:hover{ color:var(--ledger-teal); }

/* ==========================================================================
   39. СТРАНИЦА «КАРТА САЙТА» — «ВЕДОМОСТЬ ПО КАТЕГОРИЯМ» (page-sitemap.php)
   ========================================================================== */
.sitemap-cat-block{ padding:18px 0; border-bottom:1px dashed var(--paper-line); }
.sitemap-cat-block:last-child{ border-bottom:none; }
.sitemap-cat-title{ font-size:18px; display:flex; align-items:baseline; gap:8px; margin-bottom:10px; }
.sitemap-cat-count{ font-family:'PT Mono',monospace; font-size:12px; color:var(--ink-soft); font-weight:400; }
.sitemap-post-row{ display:flex; justify-content:space-between; gap:14px; padding:7px 0; font-size:15.5px; }
.sitemap-post-row a{ color:var(--ink); text-decoration:none; }
.sitemap-post-row a:hover{ color:var(--ledger-teal); }
.sitemap-post-date{ font-family:'PT Mono',monospace; font-size:12px; color:var(--ink-soft); flex-shrink:0; }
.sitemap-pages-block{ margin-top:10px; padding-top:18px; border-top:3px double var(--ink); }
.sitemap-pages-row{ display:flex; gap:18px; flex-wrap:wrap; font-family:'PT Mono',monospace; font-size:13px; text-transform:uppercase; }
.sitemap-pages-row a{ color:var(--ledger-teal); text-decoration:none; }
.sitemap-pages-row a:hover{ color:var(--ink); }
.sitemap-empty{ color:var(--ink-soft); font-style:italic; }

/* ==========================================================================
   40. ТЁМНАЯ ТЕМА (бонус — современный тренд, можно удалить блок целиком)
   ========================================================================== */
@media (prefers-color-scheme: dark){
  :root{
    --paper:#1B2129; --paper-card:#222A33; --paper-line:#3A4450; --ink:#EDEFE7; --ink-soft:#A9B3AE;
    --stamp-red:#D9776A; --stamp-gold:#E0AE5E; --ledger-teal:#5FBBA4;
  }
  body::before{ opacity:.04; }
  table.statement thead th{ color:var(--paper); }
}
