/* /partner-program — маркетинговая страница именной партнёрской
   программы (не путать с автоматической /loyalty-program).

   Секции собраны на готовых компонентах кита: hero-2026 (--no-media),
   results-band-2026 (цифры вознаграждения), summary-checklist-2026
   («что даём»), info-cards-2026 --2up («два уровня участия»). Здесь —
   только hero-цвет страницы и те блоки, которых в ките нет: шаги,
   пример расчёта, callout «по согласованию», финальный CTA и правовой
   подвал. Префикс классов — `partner-`. */

/* Hero background — та же капсульная сетка, что у /loyalty-program
   и /svedeniya (single SVG, масштабируется внутри hero-2026). */
.page-partner-program .hero-2026 {
  --hero-bg-image: url("/images/contacts/v2/hero-bg.svg");
  --hero-bg-image-sm: url("/images/contacts/v2/hero-bg.svg");
  --hero-bg-image-lg: url("/images/contacts/v2/hero-bg.svg");
}

/* Hero gradient blob — синий → фиолетовый: отличает партнёрку
   от /loyalty-program (фиолетовый→розовый), /business (синий→зелёный),
   /contacts (зелёный→жёлтый). Геометрия — как у /loyalty-program. */
.page-partner-program .hero-2026-gradient {
  left: 35.76%;
  top: 18.71%;
  width: 84.03%;
  height: 87.14%;
  background: linear-gradient(71.76deg, #4091f5 20.38%, #9d8bd3 90.22%);
  opacity: 0.4;
  filter: blur(150px);
}

/* В блоке вознаграждения три цифры, а не четыре, как на /solutions/hrd,
   поэтому двухколоночную ступень компонента (576+) гасим: три карточки
   в две колонки складываются буквой «Г». До 1024 идём одной колонкой. */
.page-partner-program .results-band-2026-grid {
  grid-template-columns: 1fr;

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

/* Уточнения под цифрами: полоса центрирована, список — по левому краю.
   Маркеры нативные: `.order-list` из typo.css рисует их псевдоэлементом
   с отступами под типографику text-page (16px/1.6) и в этой секции
   промахивается мимо строки. */
.partner-notes {
  max-width: 840px;
  margin: 32px auto 0;
  padding-left: 22px;
  list-style: disc;
  text-align: left;

  @media (min-width: 768px) {
    margin-top: 40px;
  }
}

.partner-notes li + li {
  margin-top: 8px;
}

/* Общий вертикальный ритм страницы — шкала /loyalty-program. */
.partner-section {
  margin: 56px 0;

  @media (min-width: 768px) {
    margin: 72px 0;
  }
  @media (min-width: 1024px) {
    margin: 80px 0;
  }
}

/* Правовой подвал прижат к CTA — это его продолжение, не своя секция. */
.partner-section--legal {
  margin-top: 32px;
}

.partner-section-head {
  max-width: 720px;
  margin: 0 auto 28px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;

  @media (min-width: 768px) {
    margin-bottom: 36px;
  }
  @media (min-width: 1024px) {
    margin-bottom: 44px;
  }
}

.partner-section-head h2,
.partner-section-lead {
  margin: 0;
}

/* Шаги «как это работает» — та же карточная лесенка, что на
   /loyalty-program, но с собственным префиксом (страницы независимы). */
.partner-steps {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 840px;
  display: flex;
  flex-direction: column;
  gap: 12px;

  @media (min-width: 1024px) {
    gap: 16px;
  }
}

.partner-step {
  display: flex;
  align-items: center;
  gap: 16px;
  background-color: #f6f6f6;
  border-radius: 24px;
  padding: 20px;

  @media (min-width: 768px) {
    gap: 20px;
    padding: 24px 28px;
  }
  @media (min-width: 1024px) {
    gap: 24px;
    padding: 28px 32px;
  }
}

.partner-step-num {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--gradient-secondary);
  color: var(--brand-white);
  font-family: "Onest", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1;

  @media (min-width: 768px) {
    width: 52px;
    height: 52px;
    font-size: 22px;
  }
  @media (min-width: 1024px) {
    width: 56px;
    height: 56px;
    font-size: 24px;
  }
}

.partner-step-text {
  margin: 0;
}

.partner-step-strong {
  font-weight: 600;
}

/* Пример расчёта — белая карточка с hairline-границей, как
   .info-cards-2026-card: цифры должны читаться как факт, не как акция. */
.partner-example {
  max-width: 840px;
  margin: 0 auto;
  background: var(--brand-white);
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 16px;
  padding: 24px;
  text-align: center;

  @media (min-width: 768px) {
    padding: 32px;
    border-radius: 20px;
  }
}

.partner-example-title {
  margin: 0 0 16px;
}

.partner-example-text {
  margin: 0 0 12px;
}

.partner-example-note {
  margin: 0;
}

.partner-audience-text {
  max-width: 840px;
  margin: 0 auto 24px;
}

/* Callout «партнёрство по согласованию» — обязательный блок ТЗ,
   поэтому визуально выделен акцентной полосой, а не просто абзацем. */
.partner-callout {
  max-width: 840px;
  margin: 0 auto;
  background-color: #f6f6f6;
  border-left: 3px solid var(--brand-blue-strong);
  border-radius: 8px;
  padding: 20px;

  @media (min-width: 768px) {
    padding: 24px 28px;
  }
}

.partner-callout-text {
  margin: 0;
}

.partner-cta {
  max-width: 840px;
  margin: 0 auto;
  background-color: #f6f6f6;
  border-radius: 24px;
  padding: 32px 20px;
  text-align: center;

  @media (min-width: 768px) {
    padding: 48px 40px;
  }
}

.partner-cta-title {
  margin: 0 0 12px;
}

.partner-cta-text {
  max-width: 640px;
  margin: 0 auto 24px;
}

.partner-legal {
  max-width: 840px;
  margin: 0 auto 8px;
  text-align: center;
}

.partner-legal:last-child {
  margin-bottom: 0;
}

.partner-legal a {
  font-weight: 500;
  text-decoration: underline;
}
