/* =============================================================================
   /kir/ - Кір Горшков як спікер. Сторінка зібрана з блоків лендів
   (resources/css/course.css); тут - лише те, чого в бібліотеці немає:

   - соцмережі й підпис під кнопкою в хіро;
   - контурні іконки в картках outcomes і темні квадрати в lesson-картках;
   - підзаголовок секції (як на головній);
   - контакти в картці запрошення;
   - PDF-режим (body.is-pdf): обкладинка, одна колонка, без кнопок.

   Токени - tmpl/brand.css. Нових кольорів, тіней і радіусів тут немає.
   ============================================================================= */

/* ── Ритм секцій: 90 / 56 / 40 px ВИДИМОГО проміжку, як на лендах курсів.
   Картка guarantee несе 40px зверху під плаваючу іконку, тож без поправки
   проміжок перед нею читається як 140px. Тут це компенсовано; заразом тут
   же живе відступ спільноти і повітря знизу (футера на сторінці немає). ──── */
.kir-community { margin-top: 90px; }
.kir-book { margin-top: 50px; margin-bottom: var(--space-25); }   /* 50 + 40 padding = 90 до картки */
@media only screen and (max-width: 1279.98px) {
  .kir-community { margin-top: 56px; }
  .kir-book { margin-top: 24px; }                                  /* 24 + 32 padding = 56 */
}
@media only screen and (max-width: 743.98px) {
  .kir-community { margin-top: var(--space-10); }
  .kir-book { margin-top: var(--space-2); margin-bottom: var(--space-15); }   /* 8 + 32 = 40 */
}
body.is-pdf .kir-book { margin-bottom: 0; }

/* ── Хіро: підпис і соцмережі під кнопкою ─────────────────────────────────── */
.btn-telegram svg { width: 22px; height: 22px; flex-shrink: 0; color: #fff; }

.kir-proof {
  margin: var(--space-3) 0 0;
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  color: var(--color-text-muted);
}

.kir-social {
  margin-top: var(--space-4);
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}
.kir-social a { display: inline-flex; border-radius: var(--radius-full); transition: transform var(--transition-fast); }
.kir-social a:hover { transform: translateY(-2px); }
.kir-social img { width: 36px; height: 36px; display: block; }

/* ── Підзаголовок секції: як під заголовками на головній ─────────────────── */
.kir-sub {
  max-width: 560px;
  margin: calc(-1 * var(--space-6)) auto var(--space-10);
  font-size: var(--text-md);
  line-height: var(--leading-normal);
  color: var(--color-text-secondary);
  text-align: center;
}

/* ── «Кір не про:» / «Кір про:» - це людина, а не курс: пігулки звичайним
   регістром, без капслоку й розрядки, у тому ж розмірі, що й на лендах ────── */
.not-about--kir .not-about__label {
  text-transform: none;
  letter-spacing: 0;
  font-size: var(--text-sm);
  font-weight: var(--font-weight-semibold);
}

/* ── Три сфери: жирна назва перед описом у пункті списку ─────────────────── */
.for-whom__list li span b { font-weight: var(--font-weight-semibold); color: var(--color-text); }

/* ── Outcomes: контурна іконка замість PNG + число замість назви ─────────── */
.outcome__icon.kir-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
}
.outcome__icon.kir-icon svg { width: 44px; height: 44px; }

.outcome__title.kir-num {
  font-size: var(--text-2xl);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  color: var(--color-primary);
}

/* ── Аудиторія: чотири картки-посилання в ряд, значок соцмережі замість іконки ── */
/* Рівно чотири картки course.css на десктопі кладе у 2x2 (правило з :has, вища
   специфічність) - тут числа мають стояти в один ряд, тому селектор повторює :has */
.kir-audience .outcomes__grid,
.kir-audience .outcomes__grid:has(.outcome:nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kir-audience__card { display: block; text-decoration: none; color: inherit; }
.kir-audience__icon { display: block; width: 40px; height: 40px; margin-bottom: var(--space-3); }
.kir-audience .outcome__text { color: var(--color-text-secondary); }

/* ── Diag-card: червоний хрестик у лівому сценарії ───────────────────────── */
.diag-card__sym--no { background: var(--color-error); box-shadow: 0 6px 16px rgba(244, 67, 54, 0.2); }

/* ── Lesson-картки: темний квадрат з іконкою або роком, як іконки уроків ─── */
.lesson__img--icon,
.lesson__img--year {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--color-dark);
  color: var(--color-primary);
}
.lesson__img--icon svg { width: 34px; height: 34px; }
.lesson__img--year {
  font-size: var(--text-md);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  line-height: 1.1;
}
.lesson__img--year i {
  font-style: normal;
  font-size: var(--text-sm);
  font-weight: var(--font-weight-medium);
  color: rgba(255, 255, 255, 0.72);
}

/* Тексти тем і шляху довші за підписи уроків - хай переносяться, не обрізаються */
.lesson { align-items: flex-start; }
.lesson__img { align-self: center; }

/* ── Таймлайн шляху ────────────────────────────────────────────────────────
   Мобільний: вісь ліворуч, вузол на осі, картка праворуч.
   Десктоп: вісь по центру, картки шахматкою, вузол на осі, носик картки
   дивиться на вузол (той самий прийом, що бульбашка в хіро). Вісь гасне на
   кінцях - шлях триває. ──────────────────────────────────────────────────── */
.kir-timeline {
  position: relative;
  list-style: none;
  margin: 0 auto;
  padding: var(--space-2) 0;
  max-width: 1040px;
  --node: 56px;
}
.kir-timeline::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--node) / 2 - 1px);
  width: 2px;
  background: linear-gradient(180deg, transparent 0%, var(--color-primary) 6%, var(--color-primary) 92%, transparent 100%);
}
.kir-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: var(--node) minmax(0, 1fr);
  column-gap: var(--space-5);
  align-items: start;
}
.kir-timeline__item + .kir-timeline__item { margin-top: var(--space-5); }

/* Вузол: темний квадрат з роком, білий обвід відрізає вісь навколо нього */
.kir-timeline__node {
  position: sticky;                   /* тримається в кадрі, поки читаєш довгу картку на телефоні */
  top: 88px;
  width: var(--node);
  height: var(--node);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  background: var(--color-dark);
  color: var(--color-primary);
  box-shadow: 0 0 0 4px var(--color-bg);
  font-weight: var(--font-weight-bold);
  font-size: var(--text-sm);
  line-height: 1.1;
  letter-spacing: 0.02em;
}
.kir-timeline__node i { font-style: normal; font-size: var(--text-xs); font-weight: var(--font-weight-medium); color: rgba(255, 255, 255, 0.72); }

.kir-timeline__card {
  position: relative;
  padding: var(--space-5) var(--space-6);
  background: var(--color-bg-card);
  border: 1px solid var(--color-border-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}
@media (hover: hover) {
  .kir-timeline__card:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); }
}
/* Носик до вузла - як у бульбашки хіро */
.kir-timeline__card::before {
  content: '';
  position: absolute;
  top: 22px;
  left: -7px;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
  background: var(--color-bg-card);
  border-left: 1px solid var(--color-border-card);
  border-bottom: 1px solid var(--color-border-card);
}
.kir-timeline__card .lgl__eyebrow { display: block; margin-bottom: var(--space-2); }
.kir-timeline__title {
  font-size: var(--text-lg);
  font-weight: var(--font-weight-semibold);
  line-height: 1.3;
  color: var(--color-text);
}
.kir-timeline__text {
  margin: var(--space-2) 0 0;
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  color: var(--color-text-secondary);
}

/* ── Спільнота: мозаїка 2x2 замість слайдера, клік відкриває перегляд ────── */
.kir-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.kir-gallery__item {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-bg-muted);
  box-shadow: var(--shadow-card);
  cursor: zoom-in;
}
.kir-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--transition-smooth);
}
@media (hover: hover) {
  .kir-gallery__item:hover img { transform: scale(1.04); }
}
.kir-gallery__item:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.kir-gallery__item--hidden { display: none; }          /* лишається в переліку для перегляду */
/* Четверта плитка каже, скільки ще фото за нею */
.kir-gallery__item[data-more]::after {
  content: attr(data-more);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(38, 50, 56, 0.55);
  color: #fff;
  font-size: var(--text-2xl);
  font-weight: var(--font-weight-bold);
}

/* ── Перегляд фото: рідний <dialog>. margin:auto обовʼязковий - глобальний
   reset у brand.css стирає центрування діалогу (правило з гайду) ──────────── */
.kir-lightbox {
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
  max-width: min(1120px, 96vw);
  max-height: 96vh;
  overflow: visible;
}
.kir-lightbox::backdrop { background: rgba(33, 33, 33, 0.88); }
.kir-lightbox__inner { position: relative; outline: none; display: flex; align-items: center; gap: var(--space-4); }
.kir-lightbox__figure { margin: 0; min-width: 0; text-align: center; }
.kir-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: 80vh;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-modal);
  background: var(--color-dark);
}
.kir-lightbox__figure figcaption {
  margin-top: var(--space-3);
  display: flex;
  justify-content: center;
  gap: var(--space-3);
  font-size: var(--text-sm);
  color: rgba(255, 255, 255, 0.78);
}
.kir-lightbox__count { color: rgba(255, 255, 255, 0.5); }
.kir-lightbox__nav,
.kir-lightbox__close {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: #fff;
  cursor: pointer;
  transition: background var(--transition-base), transform var(--transition-fast);
}
.kir-lightbox__nav svg, .kir-lightbox__close svg { width: 22px; height: 22px; }
.kir-lightbox__nav:hover, .kir-lightbox__close:hover { background: var(--color-primary-hover); }
.kir-lightbox__nav:active { transform: scale(0.95); }
.kir-lightbox__nav:focus-visible, .kir-lightbox__close:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.kir-lightbox__close { position: absolute; top: -8px; right: -8px; z-index: 1; width: 40px; height: 40px; background: var(--color-dark); }
.kir-lightbox__close:hover { background: var(--color-dark-hover); }
.kir-community .lv-author__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5) var(--space-6);
  max-width: 420px;
}

/* ── Запрошення: кнопки й контакти всередині картки гарантії ─────────────── */
.kir-book .guarantee__card::before {
  /* Конверт замість щита - зміст картки інший */
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zm8 7.4L4 8v1.6l8 4.4 8-4.4V8z'/%3E%3C/svg%3E") center / 28px 28px no-repeat,
    var(--gradient-brand);
}
.kir-book__actions {
  margin-top: var(--space-6);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  position: relative;
  z-index: 1;
}

.kir-contacts { display: none; }   /* лише у PDF, де кнопки не натиснути */

/* ── Десктоп: вісь по центру, картки по черзі ліворуч і праворуч ─────────── */
@media only screen and (min-width: 1280px) {
  .kir-timeline { --node: 64px; --gutter: 96px; }
  .kir-timeline::before { left: calc(50% - 1px); }
  .kir-timeline__item {
    grid-template-columns: minmax(0, 1fr) var(--gutter) minmax(0, 1fr);
    column-gap: 0;
  }
  .kir-timeline__item + .kir-timeline__item { margin-top: calc(-1 * var(--space-6)); }  /* легкий нахлест = шахматка */
  .kir-timeline__node {
    position: relative;
    top: auto;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    font-size: var(--text-md);
  }
  .kir-timeline__card { grid-row: 1; max-width: 520px; }
  .kir-timeline__item:nth-child(odd) .kir-timeline__card { grid-column: 1; justify-self: end; }
  .kir-timeline__item:nth-child(odd) .kir-timeline__card::before {
    left: auto;
    right: -7px;
    border-left: 0;
    border-bottom: 0;
    border-top: 1px solid var(--color-border-card);
    border-right: 1px solid var(--color-border-card);
  }
  .kir-timeline__item:nth-child(even) .kir-timeline__card { grid-column: 3; justify-self: start; }
}

/* ── Планшет ──────────────────────────────────────────────────────────────── */
@media only screen and (max-width: 1279.98px) {
  .kir-audience .outcomes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .outcome__title.kir-num { font-size: var(--text-xl); }
}

/* ── Телефон ──────────────────────────────────────────────────────────────── */
@media only screen and (max-width: 743.98px) {
  .kir-sub { margin: calc(-1 * var(--space-3)) auto var(--space-6); font-size: 14px; }
  .kir-social img { width: 34px; height: 34px; }
  /* Числа короткі - на телефоні дві колонки, інакше девʼять карток тягнуться екраном */
  .kir-facts .outcomes__grid, .kir-audience .outcomes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .kir-facts .outcome, .kir-audience .outcome { padding: var(--space-4) 14px; }
  .kir-facts .outcome__icon.kir-icon svg { width: 32px; height: 32px; }
  .outcome__title.kir-num { font-size: var(--text-xl); }
  .lesson__img--icon svg { width: 30px; height: 30px; }
  .lesson__img--year { font-size: 14px; }
  .kir-timeline { --node: 48px; }
  .kir-timeline__item { column-gap: var(--space-3); }
  .kir-timeline__node { font-size: 13px; top: 80px; }
  .kir-timeline__card { padding: var(--space-4); }
  .kir-timeline__title { font-size: var(--text-md); }
  .kir-timeline__text { font-size: 14px; }
  .kir-gallery { gap: var(--space-2); }
  .kir-gallery__item[data-more]::after { font-size: var(--text-xl); }
  /* Перегляд на телефоні: стрілки під фото, хрестик у куті екрана */
  .kir-lightbox { max-width: 100vw; }
  .kir-lightbox__inner { flex-wrap: wrap; justify-content: center; gap: var(--space-3); padding: 0 var(--space-3); }
  .kir-lightbox__figure { order: 0; width: 100%; }
  .kir-lightbox__img { max-height: 70vh; border-radius: var(--radius-md); }
  .kir-lightbox__nav { order: 1; }
  .kir-lightbox__close { top: -52px; right: var(--space-3); }
  .kir-book__actions { flex-direction: column; align-items: stretch; }
  .kir-book__actions .btn-telegram { width: 100%; max-width: none; }
}

/* =============================================================================
   PDF (body.is-pdf) - друкує Chromium зі сторінки ?pdf=1, див. kir/build-pdf.mjs.
   Аркуш 110x195 мм = 416x737 px. Це НЕ потік, що ріжеться де попало: кожен
   .kir-pdf-page (обгортки ставить index.php) - окремий аркуш, вміст якого
   відцентровано по вертикалі. Колонтитулів немає. Розмір аркуша береться з
   --pdf-page; 730 замість 737 - запас на округлення, інакше Chromium іноді
   виносить 1px на порожній наступний аркуш.
   ============================================================================= */
body.is-pdf { background: #fff; --pdf-page: 730px; }
body.is-pdf .wrapper { min-height: 0; padding: 0 22px; max-width: none; }
body.is-pdf .wrapper [class*=__container] { overflow: visible; }

body.is-pdf .kir-pdf-page {
  min-height: var(--pdf-page);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 0;
  break-after: page;
  break-inside: avoid;
}
body.is-pdf .kir-pdf-page:last-child { break-after: auto; }
body.is-pdf .kir-pdf-page > section { margin: 0; }
body.is-pdf .kir-pdf-page > section + section { margin-top: 26px; }
body.is-pdf h2 { font-size: 19px; line-height: 1.25; margin-bottom: 14px; }
body.is-pdf .kir-sub { margin: -6px auto 14px; font-size: 12.5px; }

/* Градієнт через background-clip: text у друці лишає тонку лінію на межі боксу */
body.is-pdf .hero__title-accent,
body.is-pdf .insight__lead em,
body.is-pdf .guarantee__text em {
  background: none;
  -webkit-text-fill-color: var(--color-primary-dark);
  color: var(--color-primary-dark);
}
/* Кутовий маскот на вузькому аркуші лягає на текст */
body.is-pdf .mascot { display: none; }

/* Розмиті тіні: Chromium вшиває їх у PDF растром із м'якою маскою, а Quartz
   (Preview, Safari, iPhone) маску ігнорує і малює суцільний прямокутник кольору
   тіні - сірий квадрат за лампочкою, рожевий за хрестиком, «рамка» на бульбашці.
   Тому в друці жодних тіней із розмиттям і фільтрів; картки тримають форму
   рамкою. Обвід вузла таймлайну - спред без розмиття, це вектор, він безпечний. */
body.is-pdf *, body.is-pdf *::before, body.is-pdf *::after { box-shadow: none !important; filter: none !important; }
body.is-pdf .kir-timeline__node { box-shadow: 0 0 0 4px #fff !important; }
body.is-pdf .hero__message { border: 1px solid var(--color-border-card); }

/* ── Аркуш 1: обкладинка ────────────────────────────────────────────────── */
.kir-cover { display: none; }
body.is-pdf .kir-cover {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: var(--pdf-page);
  padding: 24px 0;
  break-after: page;
}
body.is-pdf .kir-cover__photo {
  width: 170px;
  height: 170px;
  border-radius: var(--radius-full);
  object-fit: cover;
  padding: 6px;
  background: var(--gradient-brand);
  margin-bottom: 22px;
}
body.is-pdf .kir-cover .hero__badge { font-size: 12px; padding: 7px 16px; margin-bottom: 14px; }
body.is-pdf .kir-cover h1 { text-align: center; }
body.is-pdf .kir-cover .hero__title-name { font-size: 34px; letter-spacing: -0.5px; }
body.is-pdf .kir-cover .hero__title-accent { font-size: 18px; line-height: 1.25; margin-top: 6px; }
body.is-pdf .kir-cover .hero__subtitle { font-size: 13px; margin-top: 12px; max-width: 300px; }
body.is-pdf .kir-cover__stats { margin-top: 26px; display: flex; gap: 22px; }
body.is-pdf .kir-cover__stats b { display: block; font-size: 22px; font-weight: var(--font-weight-bold); color: var(--color-primary); line-height: 1.1; }
body.is-pdf .kir-cover__stats span { display: block; margin-top: 3px; font-size: 11px; color: var(--color-text-secondary); }
body.is-pdf .kir-cover__note { margin-top: 34px; font-size: 11px; color: var(--color-text-muted); }

/* ── Аркуш 2: репліка Кіра + «не про / про» ─────────────────────────────── */
body.is-pdf .hero__titles,
body.is-pdf .hero__download,
body.is-pdf .hero__right { display: none; }
body.is-pdf .hero__row { flex-direction: column; align-items: stretch; gap: 0; }
body.is-pdf .hero__author { gap: 12px; align-items: flex-start; }
body.is-pdf .hero__photo img { width: 64px; height: 64px; padding: 3px; }
body.is-pdf .hero__author-name { font-size: 11px; margin-top: 6px; }
body.is-pdf .hero__message { max-width: none; flex: 1; margin-top: 0; padding: 12px 14px; font-size: 13px; line-height: 1.5; }
body.is-pdf .not-about__grid { grid-template-columns: 1fr; gap: 10px; }
body.is-pdf .not-about__col { padding: 14px 16px; border: 1px solid var(--color-border-card); }
body.is-pdf .not-about__list li { font-size: 13px; margin-bottom: 8px; }
body.is-pdf .not-about__about { font-size: 13px; line-height: 1.55; }

/* ── Аркуш 3: insight + три сфери ───────────────────────────────────────── */
body.is-pdf .insight { padding-top: 22px; }
body.is-pdf .insight__card { padding: 30px 18px 22px; }
/* Два шари фону (SVG-іконка поверх градієнта) Quartz зводить до одного кольору;
   градієнт живе, лише коли він сам на боксі. Тому в друці коло з градієнтом -
   ::before, а іконка окремо в ::after тих самих розмірів. */
body.is-pdf .insight__card::before,
body.is-pdf .kir-book .guarantee__card::before { width: 40px; height: 40px; top: -20px; background: var(--gradient-brand); }
body.is-pdf .insight__card::after,
body.is-pdf .kir-book .guarantee__card::after {
  content: '';
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  background: center / 20px 20px no-repeat;
}
body.is-pdf .insight__card::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7z'/%3E%3C/svg%3E"); }
body.is-pdf .kir-book .guarantee__card::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zm8 7.4L4 8v1.6l8 4.4 8-4.4V8z'/%3E%3C/svg%3E"); }
body.is-pdf .insight__lead { font-size: 18px; }
body.is-pdf .insight__body { font-size: 13px; padding-inline: 12px; }
body.is-pdf .for-whom__list li { font-size: 13px; margin-bottom: 8px; align-items: flex-start; }
body.is-pdf .for-whom__list li::before { margin-top: 2px; }

/* ── Аркуш 4: досвід у цифрах (3x3) ─────────────────────────────────────── */
body.is-pdf .outcomes__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.is-pdf .outcome { padding: 12px 10px; }
body.is-pdf .outcome__icon.kir-icon svg { width: 26px; height: 26px; }
body.is-pdf .outcome__icon { margin-bottom: 6px; }
body.is-pdf .outcome__title.kir-num { font-size: 17px; }
body.is-pdf .outcome__text { font-size: 10.5px; line-height: 1.4; }

/* ── Аркуш 5: аудиторія (2x2) + головний перехід ───────────────────────── */
/* :has у веб-правилі дає специфічність (0,5,0) - повторюємо його, інакше в PDF чотири в ряд */
body.is-pdf .kir-audience .outcomes__grid,
body.is-pdf .kir-audience .outcomes__grid:has(.outcome:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.is-pdf .kir-audience .outcome__text { font-size: 11px; }
body.is-pdf .kir-audience__icon { width: 26px; height: 26px; margin-bottom: 6px; }
body.is-pdf .diag-card { margin-bottom: 0; }
body.is-pdf .diag-card__head { padding: 14px 12px 0; }
body.is-pdf .diag-card__body { grid-template-columns: 1fr 1px 1fr; padding: 10px 8px 14px; gap: 0; }
body.is-pdf .diag-card__col { padding: 0 6px; }
body.is-pdf .diag-card__sym { width: 34px; height: 34px; font-size: 19px; margin-bottom: 8px; }
body.is-pdf .diag-card__person { font-size: 11px; margin-bottom: 6px; }
body.is-pdf .diag-card__text { font-size: 11.5px; line-height: 1.45; }
body.is-pdf .diag-card__foot { padding: 10px 12px; }
body.is-pdf .diag-card__foot span { font-size: 11.5px; }

/* ── Аркуш 6: теми ──────────────────────────────────────────────────────── */
body.is-pdf .lessons__grid { grid-template-columns: 1fr; gap: 8px; }
body.is-pdf .lesson { padding: 10px; gap: 12px; }
body.is-pdf .lesson__img { width: 52px; height: 52px; }
body.is-pdf .lesson__img--icon svg { width: 24px; height: 24px; }
body.is-pdf .lesson__num { font-size: 17px; }
body.is-pdf .lesson__title { font-size: 13px; }
body.is-pdf .lesson__subtitle { font-size: 11.5px; line-height: 1.45; }

/* ── Аркуш 7: шлях (таймлайн, вісь ліворуч) ─────────────────────────────── */
body.is-pdf .kir-timeline { --node: 44px; padding: 4px 0; }
body.is-pdf .kir-timeline__item { column-gap: 12px; }
body.is-pdf .kir-timeline__item + .kir-timeline__item { margin-top: 8px; }
body.is-pdf .kir-timeline__node { position: relative; top: auto; font-size: 11.5px; }
body.is-pdf .kir-timeline__node i { font-size: 10px; }
body.is-pdf .kir-timeline__card { padding: 10px 12px; }
body.is-pdf .kir-timeline__card .lgl__eyebrow { font-size: 9px; margin-bottom: 4px; }
body.is-pdf .kir-timeline__title { font-size: 13px; }
body.is-pdf .kir-timeline__text { font-size: 11px; line-height: 1.4; margin-top: 3px; }

/* ── Аркуш 8: спільнота + сітка фото ────────────────────────────────────── */
body.is-pdf .kir-community { padding: 18px; gap: 16px; grid-template-columns: 1fr; }
body.is-pdf .lv-author__col--media { order: 1; }
body.is-pdf .lv-author__eyebrow { font-size: 9px; }
body.is-pdf .lv-author__name { font-size: 17px; line-height: 1.25; }
body.is-pdf .lv-author__role { font-size: 12px; }
body.is-pdf .kir-community .lv-author__stats { margin-top: 12px; gap: 10px 18px; max-width: none; }
body.is-pdf .lv-author__stat b { font-size: 19px; }
body.is-pdf .lv-author__stat span { font-size: 10.5px; }
body.is-pdf .lv-author__bio { margin-top: 12px; font-size: 12px; line-height: 1.5; }
body.is-pdf .kir-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
body.is-pdf .kir-photos figure { margin: 0; }
body.is-pdf .kir-photos img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-sm); }

/* ── Аркуш 9: контакти ──────────────────────────────────────────────────── */
body.is-pdf .kir-book { margin: 0; padding-top: 24px; }
body.is-pdf .guarantee__card { padding: 30px 18px 22px; }
body.is-pdf .guarantee__text p { font-size: 13px; }
body.is-pdf .kir-book__actions { display: none; }
body.is-pdf .kir-contacts {
  display: grid;
  gap: 6px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--color-border-light);
  text-align: left;
  font-size: 12.5px;
}
body.is-pdf .kir-contacts b { display: inline-block; width: 74px; font-weight: var(--font-weight-medium); color: var(--color-text-muted); }
body.is-pdf .kir-contacts span { color: var(--color-text); font-weight: var(--font-weight-medium); }
