/* ============================================================
   Тема лендингов подготовки к ОГЭ и ЕГЭ — фиолетовая.
   Подключается ПОСЛЕ site.css и только на страницах /exams/.
   Школьные лендинги этот файл не подключают и не меняются.

   Общий site.css местами обращается к палитре напрямую (--blue-60,
   --yellow-20), мимо семантических токенов, поэтому такие места
   переопределены поимённо ниже.
   ============================================================ */

:root {
  /* Недостающие ступени фиолетового: в дизайн-системе есть 10, 60 и 90 */
  --violet-20:#F0D4FF;
  --violet-40:#E3AEFF;

  /* Семантика. Основной — violet-90: на белом даёт контраст 4,76:1 и проходит AA.
     Прежний --blue-90 давал 3,0:1, то есть для текста не годился. */
  --color-primary:var(--violet-90);
  --color-primary-hover:#8F2FBD;
  --surface-sky:var(--violet-10);
  --surface-cream:var(--violet-10);

  --shadow-brand:0 12px 28px rgba(169,62,220,.28);
  --ring-focus:0 0 0 4px rgba(169,62,220,.32);
}

/* ---------- Места, где site.css берёт палитру напрямую ---------- */
a,
.eyebrow,
.site-nav a:hover,
.cross-link           { color:var(--violet-90); }

.hero.hero-cream      { background:linear-gradient(180deg,var(--violet-20) 0%,var(--violet-10) 45%,#fff 100%); }
.hero h1              { color:var(--ink); }

.step .num            { color:var(--violet-90); }
.accent-line span     { color:var(--violet-40); }

.chip:hover           { border-color:var(--violet-40); }
/* Белый на violet-60 дал бы 2,8:1. На violet-90 — 4,76:1. */
.chip[aria-pressed="true"] { background:var(--violet-90); border-color:var(--violet-90); }

.tag-blue             { background:var(--violet-10); color:var(--violet-90); }
.tag-access           { background:var(--grey-05); color:var(--text-secondary); }

.card:nth-child(2) .card-ic { background:var(--violet-60); }

/* ============================================================
   Компоненты, которых нет у школьных лендингов
   ============================================================ */

/* ---------- Hero без видео: карточка с фактами вместо ролика ---------- */
.hero-facts {
  width:100%; max-width:900px; background:#fff; border-radius:var(--radius-xxl);
  box-shadow:var(--shadow-md); padding:30px 34px; text-align:left;
}
.hero-facts h2 { font-size:18px; font-weight:700; margin:0 0 18px; }
.hero-facts dl { display:grid; grid-template-columns:repeat(2,1fr); gap:18px 28px; margin:0; }
.hero-facts dt { font-size:28px; font-weight:900; color:var(--violet-90); letter-spacing:-.02em; }
.hero-facts dd { margin:2px 0 0; font-size:15px; color:var(--text-secondary); line-height:1.35; }
.hero-facts .hf-jump { margin:22px 0 0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.hero-facts .hf-jump span { font-size:15px; color:var(--text-secondary); }

/* ---------- «Чего в курсе нет» — парный блок к .incl-yes ---------- */
.incl-no { background:var(--grey-05); }
.incl-no li::before {
  content:""; position:absolute; left:0; top:6px; width:18px; height:18px; border-radius:50%;
  background:var(--grey-40) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") center/12px no-repeat;
}
.incl-grid.incl-two { grid-template-columns:1fr 1fr; max-width:980px; }

/* ---------- Тариф-комплект ---------- */
.tariffs-grid.tariffs-three { max-width:1000px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.tariff .t-sub { font-size:14px; color:var(--text-secondary); margin:0 0 12px; min-height:38px; }
.tariff .t-gift {
  display:inline-block; font-size:13px; font-weight:700; color:var(--violet-90);
  background:var(--violet-10); padding:5px 12px; border-radius:var(--radius-pill); margin:0 0 14px;
}

/* ---------- Как проверяются задания ---------- */
.check-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:900px; margin:0 auto; }
.check-card { background:#fff; border:1px solid var(--grey-10); border-radius:var(--radius-l); padding:26px 28px; }
.check-card h3 { font-size:18px; font-weight:700; margin:0 0 8px; }
.check-card p { font-size:15px; color:var(--text-secondary); margin:0; }
.check-note {
  max-width:900px; margin:22px auto 0; background:var(--violet-10); border-radius:var(--radius-l);
  padding:20px 26px; font-size:15px; color:var(--text-primary);
}

/* ---------- Подпись про вторую часть в карточке подбора ---------- */
.tag-second { background:var(--orange-10); color:#8a4b00; }

/* ---------- Мобильные ---------- */
@media (max-width:860px) {
  .hero-facts dl { grid-template-columns:1fr; gap:14px; }
  .hero-facts { padding:24px 22px; }
  .check-grid, .incl-grid.incl-two { grid-template-columns:1fr; }
}
