/*
 * BSK Article — фреймворк стилей для постов Tilda Потока bsckrd.ru
 * Версия: 1.0 от 07.05.2026
 *
 * Куда вставлять:
 *   Tilda → Сайт БСК → Настройки → "Дополнительный код" → "В HEAD страниц сайта"
 *   ИЛИ страница потока → Настройки страницы → "Дополнительно" → "HTML-код в HEAD"
 *   Скопировать ВСЁ содержимое этого файла, обернуть в ...</style> и вставить.
 *
 * Что подключает:
 *   Шрифт Manrope (Google Fonts), цвета бренда БСК (#00304A синий + #68B6C8 бирюзовый),
 *   стили для блоков статьи (TL;DR, шаги, кейсы, FAQ, источники, автор, CTA, таблицы).
 *
 * Использование в постах потока: достаточно разметить контент классами bsk-art__*,
 * стили подхватятся автоматически. Статьи можно импортировать через CSV без  внутри.
 */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');

/* === БАЗА === */
.bsk-art {
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #00304A;
  line-height: 1.6;
  box-sizing: border-box;
  max-width: 920px;
  margin: 0 auto;
  padding: 0 20px;
  font-size: 17px;
}
.bsk-art *, .bsk-art *::before, .bsk-art *::after { box-sizing: border-box; }
.bsk-art h1, .bsk-art h2, .bsk-art h3 { font-weight: 700; color: #00304A; line-height: 1.25; margin: 0; }
.bsk-art p { margin: 0 0 14px; }
:where(.bsk-art) a { color: #00304A; border-bottom: 1px solid #68B6C8; transition: color .2s; text-decoration: none; }
:where(.bsk-art) a:hover { color: #68B6C8; }
.bsk-art ul, .bsk-art ol { padding-left: 0; list-style: none; margin: 0 0 16px; }
.bsk-art li { padding: 8px 0 8px 28px; position: relative; }
.bsk-art li::before {
  content: ''; position: absolute; left: 4px; top: 18px;
  width: 8px; height: 8px; border-radius: 50%; background: #68B6C8;
}

/* === TL;DR === */
.bsk-art__short {
  background: #00304A; color: #fff; border-radius: 20px;
  padding: 28px 32px; margin: 32px 0 36px;
}
.bsk-art__short h2 {
  color: #fff; font-size: 18px; margin-bottom: 14px;
  text-transform: uppercase; letter-spacing: 1px;
}
.bsk-art__short ul { margin: 0; }
.bsk-art__short li { padding: 6px 0 6px 28px; font-size: 16px; }
.bsk-art__short li::before { background: #68B6C8; top: 16px; }

/* === ЗАГОЛОВКИ СЕКЦИЙ === */
.bsk-art__h2 {
  font-size: 28px; margin: 48px 0 18px;
  padding-top: 12px; border-top: 2px solid #f4f4f4;
}
.bsk-art__h2:first-of-type { border-top: none; padding-top: 0; }
.bsk-art h3 { font-size: 21px; margin: 28px 0 12px; }

/* === ЦИТАТА === */
.bsk-art__quote {
  background: #f4f4f4; border-left: 4px solid #68B6C8;
  padding: 18px 24px; margin: 20px 0;
  border-radius: 0 12px 12px 0; font-size: 17px;
}
.bsk-art__quote-source { display: block; margin-top: 8px; font-size: 14px; opacity: .65; }

/* === ТАБЛИЦА === */
.bsk-art__table-wrap { overflow-x: auto; margin: 20px 0; border-radius: 14px; }
.bsk-art table { width: 100%; border-collapse: collapse; font-size: 15px; background: #fff; }
.bsk-art th { background: #00304A; color: #fff; padding: 14px 16px; text-align: left; font-weight: 600; }
.bsk-art td { padding: 14px 16px; border-bottom: 1px solid #f4f4f4; vertical-align: top; }
.bsk-art tr:last-child td { border-bottom: none; }

/* === ШАГИ === */
/* auto-fit + minmax — натуральный responsive БЕЗ @media:
   контейнер шириной 400px → 1-2 колонки, 800px → 4 колонки.
   Если Tilda Поток стрипает @media (max-width: 768px) {…} —
   карточки всё равно не схлопнутся в неразборчивые узкие столбцы. */
.bsk-art__steps {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  /* Большой margin-top: кружок-счётчик висит на top:-18px и стоит вне коробки.
     Если margin маленький — кружок наезжает на хвост предыдущего параграфа. */
  margin: 56px 0 28px !important;
  padding-left: 0 !important; /* Tilda даёт ol/ul левый паддинг 40px */
  list-style: none !important; /* Tilda оставляет «1. 2. 3.» — убираем */
  counter-reset: step;
}
.bsk-art__step {
  background: #f4f4f4; border-radius: 14px;
  /* padding-top 36px — кружок 32px сидит сверху, должно быть ≥ кружок + 4px зазора */
  padding: 36px 18px 22px !important;
  position: relative !important;
  counter-increment: step;
  display: block !important; /* для <li class="bsk-art__step"> убирает list-item поведение */
  list-style: none !important;
  margin: 0 !important;
}
.bsk-art__step::before {
  content: counter(step) !important;
  position: absolute !important;
  /* top: -18px — кружок полностью НАД коробкой, не залезает на её содержимое */
  top: -18px !important;
  left: 16px !important;
  background: #68B6C8 !important; color: #00304A !important;
  font-weight: 700 !important; font-size: 16px !important;
  width: 32px !important; height: 32px !important;
  /* min-width/min-height — Tilda может сбрасывать width/height на pseudo-элементах */
  min-width: 32px !important; min-height: 32px !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  border: 4px solid #fff !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}
.bsk-art__step h3 { font-size: 16px !important; margin: 0 0 6px !important; line-height: 1.3 !important; }
.bsk-art__step p { font-size: 14px !important; opacity: .8 !important; margin: 0 !important; }
.bsk-art__step strong { display: inline !important; }

/* === ВЫНОСЫ (warn / info) === */
.bsk-art__warn {
  background: #fff5e6; border-left: 4px solid #f0a040;
  padding: 18px 24px; border-radius: 0 12px 12px 0; margin: 20px 0; font-size: 16px;
}
.bsk-art__warn strong { color: #b55a00; }
.bsk-art__info {
  background: #eaf6f9; border-left: 4px solid #68B6C8;
  padding: 18px 24px; border-radius: 0 12px 12px 0; margin: 20px 0; font-size: 16px;
}

/* === КЕЙС === */
.bsk-art__case {
  background: #f9f9f9; border: 2px solid #f4f4f4;
  border-radius: 16px; padding: 28px; margin: 24px 0;
}
.bsk-art__case h3 {
  font-size: 17px; margin: 16px 0 8px;
  color: #68B6C8; text-transform: uppercase; letter-spacing: .8px;
}
.bsk-art__case h3:first-child { margin-top: 0; }
.bsk-art__case p { font-size: 16px; }

/* === FAQ === */
.bsk-art__faq {
  background: #f4f4f4; border-radius: 20px; padding: 32px; margin: 24px 0;
}
.bsk-art__faq-item {
  border-bottom: 1px solid rgba(0,48,74,0.1); padding: 18px 0;
}
.bsk-art__faq-item:first-child { padding-top: 0; }
.bsk-art__faq-item:last-child { border-bottom: none; padding-bottom: 0; }
.bsk-art__faq-item h3 { font-size: 17px; margin-bottom: 8px; }
.bsk-art__faq-item p { font-size: 16px; opacity: .9; margin: 0; }

/* === ИСТОЧНИКИ === */
.bsk-art__sources {
  background: #f4f4f4; border-radius: 16px;
  padding: 24px 28px; margin: 32px 0; font-size: 14px;
}
.bsk-art__sources h3 {
  font-size: 14px; margin-bottom: 12px;
  text-transform: uppercase; letter-spacing: .8px; opacity: .7; font-weight: 600;
}
.bsk-art__sources ol { padding-left: 20px; list-style: decimal; margin: 0; }
.bsk-art__sources li { padding: 6px 0; }
.bsk-art__sources li::before { display: none; }

/* === АВТОР === */
.bsk-art__author {
  background: #fff; border: 2px solid #f4f4f4;
  border-radius: 16px; padding: 28px; margin: 24px 0;
}
.bsk-art__author-label {
  font-size: 12px; opacity: .65; text-transform: uppercase;
  letter-spacing: .8px; margin-bottom: 4px; font-weight: 600;
}
.bsk-art__author-name { font-size: 17px; font-weight: 600; margin-bottom: 4px; }
.bsk-art__author-role { font-size: 14px; opacity: .85; margin-bottom: 8px; }
.bsk-art__author-rev { font-size: 13px; opacity: .7; }

/* === ФИНАЛЬНЫЙ CTA === */
.bsk-art__cta {
  background: #00304A; color: #fff; border-radius: 24px;
  padding: 48px 40px; text-align: center; margin: 36px 0;
}
.bsk-art__cta h2 {
  color: #fff; font-size: 28px; margin-bottom: 12px;
  border: none; padding: 0;
}
.bsk-art__cta p {
  color: #fff; opacity: .85; max-width: 540px;
  margin: 0 auto 24px; font-size: 17px;
}
.bsk-art__cta-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 16px 32px; border-radius: 100px;
  font-weight: 600; font-size: 16px;
  background: #68B6C8; color: #00304A; border: none;
}
.bsk-art__cta-btn:hover { background: #fff; color: #00304A; }

/* === DISCLAIMER === */
.bsk-art__disclaimer {
  font-size: 13px; opacity: .6; font-style: italic;
  margin: 16px 0; text-align: center;
}

/* === ЧЕК-ЛИСТ ✓ (что делать) ===
   ВАЖНО: селекторы БЕЗ `.bsk-art` префикса — Tilda Поток стрипает корневой
   .bsk-art wrapper, и правила `.bsk-art ul.bsk-art__check` промахиваются →
   галочки пропадают. См. memory: bsk_tilda_css_selector_rule.md. */
/* Использование: <ul class="bsk-art__check">...</li></ul> */
ul.bsk-art__check { margin: 16px 0 !important; padding-left: 0 !important; list-style: none !important; }
ul.bsk-art__check li { padding: 10px 0 10px 36px !important; position: relative !important; }
ul.bsk-art__check li::before {
  content: '✓' !important; background: transparent !important;
  color: #2a8a4a !important; font-weight: 700 !important; font-size: 18px !important;
  width: auto !important; height: auto !important;
  left: 6px !important; top: 8px !important;
  border-radius: 0 !important; position: absolute !important;
}

/* === КРЕСТ-ЛИСТ ✗ (что НЕ делать) === */
ul.bsk-art__cross { margin: 16px 0 !important; padding-left: 0 !important; list-style: none !important; }
ul.bsk-art__cross li { padding: 10px 0 10px 36px !important; position: relative !important; }
ul.bsk-art__cross li::before {
  content: '✕' !important; background: transparent !important;
  color: #c43838 !important; font-weight: 700 !important; font-size: 18px !important;
  width: auto !important; height: auto !important;
  left: 6px !important; top: 8px !important;
  border-radius: 0 !important; position: absolute !important;
}

/* === ЗА / ПРОТИВ — две колонки === */
/* Использование:
   <div class="bsk-art__proscons">
     <div class="bsk-art__pros">За</h3>...</ul></div>
     <div class="bsk-art__cons">Против</h3>...</ul></div>
   </div>
*/
.bsk-art__proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
.bsk-art__pros, .bsk-art__cons { border-radius: 14px; padding: 22px 24px; }
.bsk-art__pros { background: #ebf6ee; border-left: 4px solid #2a8a4a; }
.bsk-art__cons { background: #fbecec; border-left: 4px solid #c43838; }
.bsk-art__pros h3, .bsk-art__cons h3 { margin: 0 0 10px !important; font-size: 16px !important; text-transform: uppercase !important; letter-spacing: .8px !important; }
.bsk-art__pros h3 { color: #2a8a4a !important; }
.bsk-art__cons h3 { color: #c43838 !important; }
.bsk-art__pros ul, .bsk-art__cons ul { margin: 0 !important; padding-left: 0 !important; list-style: none !important; }
.bsk-art__pros li, .bsk-art__cons li { padding: 8px 0 8px 28px !important; position: relative !important; }
.bsk-art__pros li::before {
  content: '' !important; position: absolute !important;
  left: 4px !important; top: 18px !important;
  width: 8px !important; height: 8px !important;
  border-radius: 50% !important; background: #2a8a4a !important;
}
.bsk-art__cons li::before {
  content: '' !important; position: absolute !important;
  left: 4px !important; top: 18px !important;
  width: 8px !important; height: 8px !important;
  border-radius: 50% !important; background: #c43838 !important;
}

/* === СТАТ-БЛОКИ (большая цифра + подпись) === */
/* <div class="bsk-art__stats">
     <div class="bsk-art__stat"><div class="bsk-art__stat-num">70%</div><div class="bsk-art__stat-label">пациентов уходят за 3-5 сеансов</div></div>
     ...
   </div>
*/
.bsk-art__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 28px 0; }
.bsk-art__stat {
  background: linear-gradient(135deg, #00304A 0%, #0a4a6e 100%);
  color: #fff; border-radius: 16px; padding: 24px 20px; text-align: center;
}
.bsk-art__stat-num { font-size: 38px; font-weight: 700; color: #68B6C8; line-height: 1; margin-bottom: 8px; }
.bsk-art__stat-label { font-size: 14px; opacity: .9; line-height: 1.4; }

/* === TIP — зелёный совет === */
/* <div class="bsk-art__tip">Совет.</strong> Текст совета.</div> */
.bsk-art__tip {
  background: #ebf6ee; border-left: 4px solid #2a8a4a;
  padding: 18px 24px; border-radius: 0 12px 12px 0;
  margin: 20px 0; font-size: 16px;
}
.bsk-art__tip strong { color: #2a8a4a; }

/* === HIGHLIGHT — выделение маркером === */
/* <span class="bsk-art__hl">важная фраза</span> */
.bsk-art__hl {
  background: linear-gradient(180deg, transparent 60%, #ffe98a 60%);
  padding: 0 2px; font-weight: 600;
}

/* === PULL-QUOTE — большая выделенная цитата === */
/* <blockquote class="bsk-art__pull">«Цитата»— автор</cite></blockquote> */
.bsk-art__pull {
  font-size: 24px; line-height: 1.4; font-weight: 600;
  color: #00304A; border-left: 5px solid #68B6C8;
  padding: 8px 0 8px 28px; margin: 32px 0; font-style: italic;
}
.bsk-art__pull cite {
  display: block; margin-top: 12px; font-size: 14px;
  font-style: normal; font-weight: 400; opacity: .65;
}

/* === БЕЙДЖИ — для уровней доказательности и пометок === */
/* <span class="bsk-art__badge">Уровень B</span>
   <span class="bsk-art__badge bsk-art__badge--hi">Клинрек МЗ</span>
   <span class="bsk-art__badge bsk-art__badge--lo">Слабая база</span>
*/
.bsk-art__badge {
  display: inline-block; padding: 3px 10px;
  background: #eaf6f9; color: #00304A;
  border-radius: 100px; font-size: 13px; font-weight: 600;
  letter-spacing: .3px; line-height: 1.6;
  vertical-align: middle;
}
.bsk-art__badge--hi { background: #2a8a4a; color: #fff; }
.bsk-art__badge--lo { background: #f0a040; color: #fff; }
.bsk-art__badge--no { background: #c43838; color: #fff; }

/* === ЗЕБРА-ТАБЛИЦА (для длинных таблиц сравнения) === */
/* <table class="bsk-art__table--zebra"> */
table.bsk-art__table--zebra tbody tr:nth-child(even) td { background: #fafafa !important; }

/* === ЦВЕТНЫЕ ЯЧЕЙКИ в таблице (да/нет) === */
/* <td class="bsk-art__cell-yes">Да</td>  <td class="bsk-art__cell-no">Нет</td>  <td class="bsk-art__cell-mid">Иногда</td> */
td.bsk-art__cell-yes { background: #ebf6ee !important; color: #2a8a4a !important; font-weight: 600 !important; }
td.bsk-art__cell-no { background: #fbecec !important; color: #c43838 !important; font-weight: 600 !important; }
td.bsk-art__cell-mid { background: #fff5e6 !important; color: #b55a00 !important; font-weight: 600 !important; }

/* === ТАЙМЛАЙН — этапы восстановления === */
/* <ul class="bsk-art__timeline">
     Неделя 1.</strong> Описание этапа</li>
     Неделя 2-3.</strong> ...</li>
   </ul>
*/
ul.bsk-art__timeline {
  margin: 24px 0 !important; padding-left: 28px !important;
  border-left: 2px solid #68B6C8 !important;
  list-style: none !important;
}
ul.bsk-art__timeline li {
  padding: 12px 0 12px 16px !important; position: relative !important;
}
ul.bsk-art__timeline li::before {
  content: '' !important; width: 14px !important; height: 14px !important;
  background: #68B6C8 !important; border: 3px solid #fff !important;
  box-shadow: 0 0 0 1px #68B6C8 !important;
  border-radius: 50% !important; left: -36px !important; top: 16px !important;
  position: absolute !important;
}
ul.bsk-art__timeline li strong { color: #00304A !important; display: inline-block !important; margin-right: 6px !important; }

/* === DEFINITION — определение термина === */
/* <p class="bsk-art__def">Цервикалгия</strong> — это боль в шее...</p> */
.bsk-art__def {
  background: #f4f4f4; border-radius: 10px;
  padding: 14px 18px; margin: 16px 0;
  border-left: 3px solid #68B6C8;
}
.bsk-art__def strong { color: #00304A; }

/* === КАРТОЧКИ В РЯД (универсальные, 2-3-4 в ряд) === */
/* <div class="bsk-art__cards bsk-art__cards--3">
     <div class="bsk-art__card">...</h3>...</p></div>
     ...
   </div>
*/
.bsk-art__cards { display: grid; gap: 16px; margin: 24px 0; }
/* auto-fit гарантирует мобильный схлоп без @media (Tilda может стрипать media query) */
.bsk-art__cards--2 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.bsk-art__cards--3 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.bsk-art__cards--4 { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.bsk-art__card {
  background: #f4f4f4; border-radius: 14px; padding: 22px 20px;
}
.bsk-art__card h3 { font-size: 17px; margin-bottom: 10px; color: #00304A; }
.bsk-art__card p { font-size: 15px; margin: 0; opacity: .85; }

/* === МОБИЛЬНАЯ ВЕРСИЯ ===
   ВАЖНО: Tilda Поток иногда стрипает @media-блоки или их перебивает.
   Поэтому grid-карточки (__steps, __cards, __stats, __proscons) используют
   `auto-fit, minmax()` в дефолте — они схлапываются БЕЗ media query.
   Этот блок — добивающий: для шрифтов, паддингов и финального схлопа в 1 колонку
   на ≤480px (телефон) с !important на случай конфликта со специфичностью Tilda. */
@media (max-width: 768px) {
  .bsk-art { padding: 0 16px; font-size: 16px; }
  .bsk-art__h2 { font-size: 22px; }
  .bsk-art h3 { font-size: 18px; }
  .bsk-art__faq { padding: 24px 20px; }
  .bsk-art__cta { padding: 36px 24px; }
  .bsk-art__cta h2 { font-size: 22px; }
  .bsk-art__stat-num { font-size: 32px; }
  .bsk-art__pull { font-size: 20px; padding-left: 20px; }
}
@media (max-width: 480px) {
  .bsk-art__steps,
  .bsk-art__cards,
  .bsk-art__cards--2,
  .bsk-art__cards--3,
  .bsk-art__cards--4,
  .bsk-art__proscons,
  .bsk-art__stats { grid-template-columns: 1fr !important; }
}