/* Страница тарифов /pricing. Использует токены theme.css (--qh-*).
   Тёплый-редакторный тон в пару к меню настроек: те же карточки-фичи с мягкими
   точками-буллетами, золотой Pro, человеческий копирайт (src/tiers/copy.ts). */

/* Герой на /pricing сразу переходит в интерактивный переключатель, а не в
   читаемый контент, — каноничные 80px из .page-hero дают «дыру». Сужаем
   разрыв до ритм-блока ТОЛЬКО на этой странице (токен, не хардкод). */
#pricing-mount .page-hero {
  margin-bottom: var(--qh-rhythm-block);
}

.pricing-toggle {
  display: inline-flex;
  gap: var(--qh-space-1);
  padding: var(--qh-space-1);
  margin: 0 0 var(--qh-rhythm-block);
  background: var(--qh-surface-muted);
  border-radius: var(--qh-radius-pill);
}

.pricing-toggle__btn {
  appearance: none;
  border: none;
  background: transparent;
  color: var(--qh-text-secondary);
  font-size: var(--qh-text-sm);
  font-weight: var(--qh-font-weight-medium);
  padding: var(--qh-space-2) var(--qh-space-5, 20px);
  border-radius: var(--qh-radius-pill);
  cursor: pointer;
  transition: background var(--qh-duration-fast) var(--qh-ease-default),
    color var(--qh-duration-fast) var(--qh-ease-default);
}

.pricing-toggle__btn.is-active {
  background: var(--qh-surface-soft);
  color: var(--qh-text-primary);
  box-shadow: var(--qh-shadow-sm);
}

.pricing-toggle__badge {
  display: inline-block;
  margin-left: var(--qh-space-2);
  padding: 0 var(--qh-space-2);
  border-radius: var(--qh-radius-pill);
  background: color-mix(in srgb, var(--qh-accent) 16%, transparent);
  color: var(--qh-accent);
  font-size: var(--qh-text-fine);
  font-weight: var(--qh-font-weight-semibold);
}

/* Два тарифа — две колонки во всю ширину контейнера (левый+правый край к
   контент-эджу). align-items:start ⇒ каждая карточка своей высоты: у Free
   меньше пунктов, поэтому она компактнее, а Pro выше — это и есть акцент,
   а не «дыра» внутри Free от растягивания. */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--qh-space-6);
  align-items: start;
}

@media (max-width: 860px) {
  .pricing-grid {
    grid-template-columns: 1fr;
  }
}

.pricing-card {
  display: flex;
  flex-direction: column;
  padding: var(--qh-card-padding-lg);
  --ui-card-radius: var(--qh-radius-feature);
}

/* Pro: золотая рамка + лёгкая тёплая заливка как у Pro-карточки в настройках. */
.pricing-card--featured {
  border-color: color-mix(in srgb, var(--qh-accent) 38%, var(--qh-border));
  box-shadow: var(--qh-shadow-md);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--qh-accent) 12%, transparent), transparent 54%),
    var(--qh-surface-soft);
}

/* Золотой бейдж «Рекомендуем» в слоте эйброу у Pro. */
.pricing-card__badge {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  padding: var(--qh-space-1) var(--qh-space-3);
  border-radius: var(--qh-radius-pill);
  background: var(--qh-accent);
  color: #fff;
  font-size: var(--qh-text-fine);
  font-weight: var(--qh-font-weight-semibold);
  letter-spacing: var(--qh-letter-loose);
  text-transform: uppercase;
}

/* Шапка: эйброу → имя → цена (фокус) → описание, ровным ритмом. */
.pricing-card__head {
  display: flex;
  flex-direction: column;
  gap: var(--qh-space-2);
}

.pricing-card__head .page-eyebrow {
  margin: 0;
}

.pricing-card__name {
  font-size: var(--qh-text-xl, 28px);
  font-weight: var(--qh-font-weight-bold);
  margin: 0;
  color: var(--qh-text-primary);
}

.pricing-card__desc {
  font-size: var(--qh-text-sm);
  color: var(--qh-text-secondary);
  margin: 0;
  line-height: var(--qh-line-relaxed, 1.6);
}

/* Цена — фокус карточки: «Бесплатно» у Free и «299 ₽» у Pro одного кегля. */
.pricing-card__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--qh-space-2);
  margin: 0;
  font-size: var(--qh-text-xl);
  font-weight: var(--qh-font-weight-bold);
  letter-spacing: var(--qh-letter-tight, -0.02em);
  color: var(--qh-text-primary);
}

.pricing-card__anchor {
  color: var(--qh-text-tertiary);
  font-size: var(--qh-text-md);
  font-weight: var(--qh-font-weight-regular);
  letter-spacing: normal;
  text-decoration: line-through;
}

.pricing-card__amount {
  font-size: var(--qh-text-xl);
  font-weight: var(--qh-font-weight-bold);
}

.pricing-card__period {
  font-size: var(--qh-text-sm);
  font-weight: var(--qh-font-weight-regular);
  letter-spacing: normal;
  color: var(--qh-text-secondary);
}

.pricing-card__note {
  margin: 0;
  font-size: var(--qh-text-fine);
  color: var(--qh-text-tertiary);
}

/* Акцентный золотой чип с годовой выгодой (виден на «На год»). */
.pricing-card__save {
  align-self: flex-start;
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--qh-space-2);
  margin-top: var(--qh-space-1);
  padding: var(--qh-space-1) var(--qh-space-3);
  border-radius: var(--qh-radius-pill);
  background: color-mix(in srgb, var(--qh-accent) 14%, transparent);
  color: color-mix(in srgb, var(--qh-accent) 78%, var(--qh-text-primary));
  font-size: var(--qh-text-fine);
}

.pricing-card__save-strong {
  font-weight: var(--qh-font-weight-semibold);
}

.pricing-card__save-sep {
  opacity: 0.55;
}

.pricing-card__save .pricing-card__note {
  color: inherit;
}

.pricing-card__features {
  list-style: none;
  padding: 0;
  margin: var(--qh-space-6) 0 0;
  display: flex;
  flex-direction: column;
  gap: var(--qh-space-3);
}

.pricing-card__features li {
  position: relative;
  padding-left: var(--qh-space-5, 20px);
  font-size: var(--qh-text-sm);
  color: var(--qh-text-primary);
  line-height: var(--qh-line-relaxed, 1.6);
}

/* Мягкая круглая точка — как буллеты тарифов в настройках (не «галочка SaaS»). */
.pricing-card__features li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: var(--qh-radius-pill);
  background: color-mix(in srgb, var(--qh-text-tertiary) 60%, var(--qh-text-primary));
}

.pricing-card--featured .pricing-card__features li::before {
  background: color-mix(in srgb, var(--qh-accent) 72%, var(--qh-text-primary));
}

/* Тонкая линейка отделяет «оффер» от действия — низ карточки собран. */
.pricing-card__footer {
  margin-top: var(--qh-space-6);
  padding-top: var(--qh-space-5, 20px);
  border-top: 1px solid var(--qh-border);
}

.pricing-card__cta {
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  padding: var(--qh-space-3) var(--qh-space-6);
  border-radius: var(--qh-radius-pill);
  font-size: var(--qh-text-sm);
  font-weight: var(--qh-font-weight-medium);
}

button.pricing-card__cta {
  background: var(--qh-accent);
  color: #fff;
  border: none;
  cursor: pointer;
  transition: filter var(--qh-duration-fast) var(--qh-ease-default);
}

button.pricing-card__cta:hover {
  filter: brightness(0.96);
}

/* Free: тихий ghost вместо тяжёлой плашки — «у вас это и так есть». */
.pricing-card__cta--disabled {
  border: 1px solid var(--qh-border);
  background: transparent;
  color: var(--qh-text-tertiary);
}

/* Чек-бокс подписки у кнопки оплаты (Этап 2, требование T-Bank + 376-ФЗ):
   по умолчанию снят, рядом - сумма и периодичность списаний. */
.pricing-card__autorenew {
  display: flex;
  align-items: flex-start;
  gap: var(--qh-space-2);
  margin: 0 0 var(--qh-rhythm-tight);
  font-size: var(--qh-text-fine);
  color: var(--qh-text-tertiary);
  line-height: var(--qh-line-relaxed, 1.6);
  cursor: pointer;
}

.pricing-card__autorenew input {
  /* em-сдвиг вместо px: чекбокс на первую строку текста, вне 8pt-сетки нельзя */
  margin: 0.2em 0 0;
  accent-color: var(--qh-accent);
  flex: 0 0 auto;
}

.pricing-card__autorenew a {
  color: inherit;
  text-decoration: underline;
}

/* «Как отменить подписку» (требование T-Bank): видимый блок под тарифами */
.pricing-cancel {
  margin-top: var(--qh-rhythm-block);
  max-width: 60ch;
}

.pricing-cancel__title {
  margin: 0 0 var(--qh-rhythm-tight);
  font-size: var(--qh-text-md);
  font-weight: var(--qh-weight-semibold);
  color: var(--qh-text-secondary);
}

.pricing-cancel__list {
  margin: 0;
  padding-left: 1.2em;
  display: flex;
  flex-direction: column;
  gap: var(--qh-rhythm-tight);
  font-size: var(--qh-text-sm);
  color: var(--qh-text-secondary);
  line-height: var(--qh-line-relaxed, 1.6);
}

.pricing-cancel__list a {
  color: inherit;
  text-decoration: underline;
}

.pricing-reassurance {
  margin: var(--qh-rhythm-block) 0 0;
  font-size: var(--qh-text-sm);
  color: var(--qh-text-secondary);
  line-height: var(--qh-line-relaxed, 1.6);
  max-width: 60ch;
}
