/* Оформление страниц акций (/promo/*).
   Тексты акций хранятся в базе как HTML, поэтому блоки собираются классами .w2pr-*.
   Токены общесайтовые: фон #f5f5f5, белые карточки, акцент #8f42ec, кнопка #8f42ec. */

.mp-articles article { text-align: left !important; }

.w2pr { font-family: 'Gilroy', 'Segoe UI', system-ui, sans-serif; color: #121212; }
.w2pr p { color: #3a3a44; font-size: 16px; line-height: 1.65; }

/* врезка с главным обещанием */
.w2pr-hero {
  margin: 8px 0 28px; padding: 24px 26px; border-radius: 16px;
  background: linear-gradient(135deg, rgba(143, 66, 236, .08), rgba(0, 98, 226, .06));
  border: 1px solid rgba(143, 66, 236, .18);
}
.w2pr-hero__big { display: block; font-size: clamp(24px, 3vw, 34px); font-weight: 700; line-height: 1.15; letter-spacing: -.02em; color: #121212; }
.w2pr-hero__big em { font-style: normal; color: #8f42ec; }
.w2pr-hero p { margin: 10px 0 0; font-size: 16px; }

/* карточки «что получите» */
.w2pr-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; margin: 22px 0 28px; }
.w2pr-card { padding: 20px 22px; background: #fff; border: 1px solid #e2e2ee; border-radius: 14px; }
.w2pr-card b { display: block; margin-bottom: 6px; font-size: 16px; font-weight: 600; line-height: 1.3; }
.w2pr-card span { color: #4a4a55; font-size: 15px; line-height: 1.55; }

/* шаги */
.w2pr-steps { display: grid; gap: 12px; margin: 20px 0 28px; padding: 0; list-style: none; counter-reset: w2pr; }
.w2pr .w2pr-steps { list-style: none !important; margin-left: 0 !important; padding-left: 0 !important; }
.w2pr .w2pr-steps li {
  position: relative; padding: 16px 20px 16px 62px !important; margin: 0 !important; background: #fff;
  border: 1px solid #e2e2ee; border-radius: 14px; font-size: 15px; line-height: 1.55; color: #3a3a44;
  list-style: none !important;
}
.w2pr .w2pr-steps li::marker { content: ''; }
.w2pr-steps li::before {
  counter-increment: w2pr; content: counter(w2pr);
  position: absolute; left: 18px; top: 14px; width: 30px; height: 30px; border-radius: 9px;
  background: rgba(143, 66, 236, .12); color: #8f42ec; font-weight: 700; font-size: 15px;
  display: flex; align-items: center; justify-content: center;
}
.w2pr-steps li b { color: #121212; }

/* список условий с галочками */
.w2pr-list { margin: 16px 0 26px; padding: 0; list-style: none; display: grid; gap: 10px; }
.w2pr .w2pr-list { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; }
.w2pr .w2pr-list li { position: relative; padding-left: 28px !important; list-style: none !important; color: #3a3a44; font-size: 15px; line-height: 1.55; }
.w2pr-list li::before {
  content: ''; position: absolute; left: 2px; top: 7px; width: 13px; height: 7px;
  border-left: 2px solid #8f42ec; border-bottom: 2px solid #8f42ec; transform: rotate(-45deg);
}

/* заметка на полях */
.w2pr-note {
  margin: 22px 0; padding: 16px 20px; border-left: 3px solid #8f42ec;
  background: #faf7ff; border-radius: 0 12px 12px 0; color: #3a3a44; font-size: 15px; line-height: 1.6;
}

/* вопрос-ответ */
.w2pr-qa { margin: 18px 0 26px; display: grid; gap: 14px; }
.w2pr-qa div { padding: 16px 20px; background: #fff; border: 1px solid #e2e2ee; border-radius: 14px; }
.w2pr-qa b { display: block; margin-bottom: 5px; font-size: 15px; }
.w2pr-qa span { color: #4a4a55; font-size: 15px; line-height: 1.55; }

/* призыв к действию */
.w2pr-cta {
  margin: 30px 0 8px; padding: 26px; border-radius: 16px; background: #121525; color: #fff;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
}
.w2pr-cta__text { max-width: 60ch; }
.w2pr-cta__text b { display: block; font-size: 20px; font-weight: 600; margin-bottom: 6px; }
.w2pr-cta__text span { color: rgba(255, 255, 255, .72); font-size: 15px; line-height: 1.55; }
.w2pr-cta a {
  flex: 0 0 auto; padding: 15px 28px; border-radius: 12px; background: #8f42ec; color: #fff;
  font-size: 16px; font-weight: 600; text-decoration: none; transition: background .15s;
}
.w2pr-cta a:hover { background: #0053c0; color: #fff; }

.w2pr h2 { margin: 32px 0 10px; font-size: clamp(20px, 2.4vw, 27px); font-weight: 600; letter-spacing: -.01em; }
/* Ритм как у статьи блога (type.css): 32/10 на десктопе, 30/12 на телефоне.
   До этого отбивку задавал каждый блок сам (12, 16, 18, 20, 22 px). */
.w2pr h2 + * { margin-top: 0; }
@media (max-width: 767px) { .w2pr h2 { margin: 30px 0 12px; } }

@media (max-width: 767px) {
  .w2pr-cta { flex-direction: column; align-items: flex-start; }
  .w2pr-cta a { width: 100%; text-align: center; }
}
