/* ==========================================================================
   CKAIEDU — тема платного раздела PRO
   --------------------------------------------------------------------------
   Подключается ТОЛЬКО на страницах PRO, вручную, сразу после общего блока
   <!-- /SHELL:HEAD -->. В общую часть <head> его класть нельзя: она уходит
   на все страницы сайта, и тёмное свалилось бы на светлые.

   Как устроено: тут не переписаны компоненты, а переопределены токены
   внутри .pro-theme на <body>. Шапка, кнопки, карточки, значки — те же
   классы из styles.css, просто в других цветах. Значит правка кнопки
   в styles.css сама доедет и сюда.

   Цвета взяты у CKAIWEB (проект основателя), чтобы платный раздел
   узнавался как его же продукт: фон #1a1a1a, акцент #c5e063.
   Решение — brain/decisions/ADR-010-platnyy-razdel-pro.md
   Токены — brain/tech/design.md, раздел «Тема PRO».

   Структура файла:
    1. Токены тёмной темы
    2. Правки компонентов, которым тёмного фона мало
    3. Витрина: обещание и карточки курсов
    4. Замок и цена
    5. Страница курса: уроки, что понадобится, что останется
    6. Страница урока: место под видео и расшифровка
    7. Выбор способа оплаты
    8. Адаптив
   ========================================================================== */

/* ============ 1. ТОКЕНЫ ТЁМНОЙ ТЕМЫ ============ */
.pro-theme {
  --bg: #1a1a1a;
  --bg-alt: #202020;
  --bg-card: #2a2a2a;
  --ink: #faf9f6;
  --ink-soft: #a0a0a0;
  --ink-faint: #8a8a8a;
  --line: #3a3a3a;
  --line-soft: #313131;

  --accent: #c5e063;        /* лимонно-салатовый CKAIWEB */
  --accent-deep: #d8e6b8;   /* светлый лайм: наведение и мягкие подложки */
  --accent-ink: #1a1a1a;
  --accent-soft: #2e3524;
  --on-accent: #1a1a1a;

  --ok: #8fd39a;
  --ok-soft: #24301f;
  --warn: #e0c26b;
  --warn-soft: #322a1a;
  --err: #e08a7c;
  --err-soft: #322220;

  --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.4), 0 14px 40px rgba(0, 0, 0, 0.35);

  color-scheme: dark;
  background: var(--bg);
  color: var(--ink);
}

/* ============ 2. КОМПОНЕНТЫ, КОТОРЫМ ТЁМНОГО ФОНА МАЛО ============ */

/* Кнопка «Войти» в шапке светлая по краю — на тёмном она пропадала */
.pro-theme .btn--ghost { border-color: var(--line); color: var(--ink); }
.pro-theme .btn--ghost:hover { background: var(--ink); color: var(--bg); border-color: var(--ink); }

.pro-theme .btn--outline { border-color: var(--line); color: var(--ink); }
.pro-theme .btn--outline:hover { border-color: var(--accent); color: var(--accent); }

.pro-theme .chip[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }

/* Логотип в шапке и подвале */
.pro-theme .logo { color: var(--ink); }
.pro-theme .logo__dot { color: var(--accent); }

/* Значок «PRO» рядом с логотипом — чтобы человек видел, где он */
.pro-mark {
  font-family: var(--font-head);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: var(--accent);
  color: var(--on-accent);
  align-self: center;
}

/* ============ 3. ВИТРИНА ============ */
.pro-hero { padding-block: var(--space-5) var(--space-4); }
.pro-hero__title { max-width: 20ch; }
.pro-hero__lead { margin-top: var(--space-2); }

.pro-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}
.pro-fact {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 0.75rem 1.1rem;
  min-width: 8rem;
}
.pro-fact__num {
  font-family: var(--font-head);
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--accent);
  letter-spacing: -0.02em;
}
.pro-fact__text { font-size: 0.9rem; color: var(--ink-soft); }

.pro-grid { display: grid; gap: var(--space-3); grid-template-columns: 1fr; }

.pro-card {
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  transition: border-color 0.25s var(--ease), transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.pro-card:hover { border-color: var(--accent); transform: translateY(-3px); box-shadow: var(--shadow-soft); }
.pro-card__top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); }
.pro-card__num {
  font-family: var(--font-head);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--accent);
}
.pro-card__title { font-family: var(--font-head); font-size: 1.2rem; font-weight: 600; letter-spacing: -0.02em; }
.pro-card__tagline { color: var(--ink-soft); font-size: 0.97rem; }
.pro-card__result {
  border-left: 2px solid var(--accent);
  padding-left: 0.85rem;
  color: var(--ink);
  font-size: 0.95rem;
}
.pro-card__result b { font-weight: 600; color: var(--accent); display: block; font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 0.2rem; }
.pro-card__meta { color: var(--ink-faint); font-size: 0.88rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.pro-card__foot {
  margin-top: auto;
  padding-top: var(--space-2);
  border-top: 1px solid var(--line-soft);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  flex-wrap: wrap;
}

/* Покупка всех пяти сразу */
.pro-bundle {
  background: var(--accent-soft);
  border: 1px solid var(--accent);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.pro-bundle__price {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 5vw, 2.6rem);
  font-weight: 600;
  color: var(--accent);
  letter-spacing: -0.03em;
}
.pro-bundle__note { color: var(--ink-soft); font-size: 0.95rem; }

/* ============ 4. ЗАМОК И ЦЕНА ============ */
.lock {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--font-head);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: var(--ink-faint);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.25rem 0.6rem;
  white-space: nowrap;
}
.lock svg { width: 13px; height: 13px; }
.lock--open { color: var(--accent); border-color: var(--accent); }

.price {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.price__note { display: block; font-family: var(--font-body); font-size: 0.8rem; font-weight: 400; color: var(--ink-faint); letter-spacing: 0; }

/* Курс в записи. Метка спокойная, а не зовущая: это честное «пока нет»,
   а не приём с ограниченным предложением. */
.lock--soon { color: var(--warn); border-color: var(--warn); }
.price--soon { color: var(--ink-soft); }

/* ============ 5. СТРАНИЦА КУРСА ============ */
.pro-course__head { border-bottom: 1px solid var(--line); padding-bottom: var(--space-3); }

.pro-buybox {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.pro-buybox--open { border-color: var(--accent); }

.pro-list { list-style: none; display: grid; gap: 0.6rem; }
.pro-list li { display: flex; gap: 0.6rem; align-items: flex-start; color: var(--ink-soft); font-size: 0.97rem; }
.pro-list li::before { content: "→"; color: var(--accent); flex-shrink: 0; }

.pro-lessons { list-style: none; border-top: 1px solid var(--line); }
.pro-lesson-row {
  display: flex;
  gap: var(--space-2);
  align-items: flex-start;
  padding: var(--space-2) 0.25rem;
  border-bottom: 1px solid var(--line);
  transition: background-color 0.2s var(--ease);
}
a.pro-lesson-row:hover { background: var(--bg-alt); }
.pro-lesson-row__num {
  flex-shrink: 0;
  width: 34px; height: 34px;
  border-radius: 999px;
  border: 1px solid var(--line);
  color: var(--ink-faint);
  font-family: var(--font-head);
  font-size: 0.9rem;
  display: grid; place-items: center;
}
a.pro-lesson-row .pro-lesson-row__num { border-color: var(--accent); color: var(--accent); }
.pro-lesson-row__body { flex: 1; min-width: 0; }
.pro-lesson-row__title { font-family: var(--font-head); font-weight: 500; letter-spacing: -0.01em; }
.pro-lesson-row__summary { color: var(--ink-soft); font-size: 0.94rem; margin-top: 0.25rem; }
.pro-lesson-row__meta { color: var(--ink-faint); font-size: 0.86rem; margin-top: 0.15rem; }
.pro-lesson-row--locked .pro-lesson-row__title { color: var(--ink-soft); }

/* ============ 6. СТРАНИЦА УРОКА ============ */
.video-slot {
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  background: var(--bg-card);
  display: grid;
  place-items: center;
  text-align: center;
  padding: var(--space-3);
}
.video-slot__label { font-family: var(--font-head); font-weight: 600; color: var(--ink); }
.video-slot__text { color: var(--ink-soft); font-size: 0.94rem; margin-top: 0.4rem; max-width: 32ch; margin-inline: auto; }
.video-slot video, .video-slot iframe { width: 100%; height: 100%; border: 0; border-radius: var(--radius); }

.transcript__head {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--ink-faint);
  font-family: var(--font-head);
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: var(--space-2);
}
.transcript__head::after { content: ""; flex: 1; height: 1px; background: var(--line); }

/* Текст урока: та же .prose из styles.css, только цвета выносок другие */
.pro-theme .prose blockquote { border-left-color: var(--accent); color: var(--ink-soft); }
.pro-theme .prose code { background: var(--bg-card); color: var(--accent); }
.pro-theme .prose pre { background: #131313; border: 1px solid var(--line); }
.pro-theme .prose a { color: var(--accent); }
.pro-theme .prose th { border-bottom-color: var(--line); }
.pro-theme .prose td { border-bottom-color: var(--line-soft); }

/* ============ 7. ВЫБОР СПОСОБА ОПЛАТЫ ============ */
.pay-ways { display: grid; gap: var(--space-2); }
.pay-way {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: var(--space-2);
  background: var(--bg-alt);
}
.pay-way__title { font-family: var(--font-head); font-weight: 600; margin-bottom: 0.2rem; }
.pay-way__text { color: var(--ink-soft); font-size: 0.93rem; margin-bottom: var(--space-2); }

.wallet {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.92rem;
  word-break: break-all;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 0.65rem 0.8rem;
  color: var(--accent);
}

.pro-note {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: var(--space-2);
  color: var(--ink-soft);
  font-size: 0.93rem;
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
}
.pro-note svg { flex-shrink: 0; color: var(--accent); }

/* ============ 8. АДАПТИВ ============ */
@media (min-width: 760px) {
  .pro-grid { grid-template-columns: repeat(2, 1fr); }
  .pro-buybox { flex-direction: row; align-items: center; justify-content: space-between; }
  .pro-buybox .actions { flex-shrink: 0; }
}

@media (min-width: 1040px) {
  .pro-grid--3 { grid-template-columns: repeat(3, 1fr); }
}
