/* Кошелёк (/wallet) в облике D «Пульт» (слоновая кость + киноварь), плоско.

   Что это: правила поверх wallet.html. Файл кошелька основного сайта не меняется:
   подключается ТОЛЬКО при отдаче Magic Master по адресу /wallet (site_beta.wallet_beta_shell
   + inject_d2_layer(kind="wallet")) и на бете /beta/wallet. Вся логика кошелька (скрипты,
   API, ссылки оплаты) — в wallet.html без изменений.

   Порядок: этот файл идёт после инлайн-стиля страницы, поэтому прежние переменные
   (--accent, --border, --surface…) направлены на токены --ds-* обеих тем. Фиолетовый
   нигде не остаётся: кнопки — киноварь #e52900 с белым текстом, рамки — тонкие, без теней. */

/* 1. Прежние имена переменных → токены D (обе темы) */
:root,
:is(html.theme-light, html[data-theme="light"]) {
  --bg: var(--ds-bg); --surface: var(--ds-surface); --border: var(--ds-line);
  --text: var(--ds-text); --soft: var(--ds-soft); --dim: var(--ds-dim);
  --accent: var(--ds-acc); --acc2: var(--ds-acc); --cta2: var(--ds-cta);
  --text-accent: var(--ds-acc); --text-link: var(--ds-acc);
  --green: var(--ds-ok); --red: var(--ds-bad); --amber: var(--ds-warn);
  --status-ok: var(--ds-ok); --status-warn: var(--ds-warn); --status-bad: var(--ds-bad);
  --r: 14px; --r-sm: 10px;
}

/* 2. Страница */
body.ds-wallet {
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: 16px; line-height: 1.55;
  background: var(--ds-bg); color: var(--ds-text);
}
body.ds-wallet h1 {
  font-family: 'Unbounded', system-ui, sans-serif; font-weight: 600;
  font-size: 1.6rem; letter-spacing: -.02em; color: var(--ds-text);
  background: none; -webkit-background-clip: border-box; background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}
body.ds-wallet .subtitle, body.ds-wallet .guest-shop-note { color: var(--ds-soft); }
body.ds-wallet .section-title {
  font-family: 'Unbounded', system-ui, sans-serif; font-weight: 500;
  font-size: 1.1rem; letter-spacing: .02em; color: var(--ds-text);
}
body.ds-wallet code, body.ds-wallet .mono, body.ds-wallet .balance-amount,
body.ds-wallet .pkg-tokens, body.ds-wallet .history-table .amount {
  font-family: 'JetBrains Mono', monospace;
}

/* 3. Плоские поверхности: без градиентов и теней */
body.ds-wallet .balance-card,
body.ds-wallet .info-card,
body.ds-wallet .pkg-card,
body.ds-wallet .gift-steps li,
body.ds-wallet .gift-code-row,
body.ds-wallet .history-table,
body.ds-wallet .rt-status {
  background: var(--ds-surface); border: 1px solid var(--ds-line); box-shadow: none;
}
body.ds-wallet .balance-card { background: var(--ds-surface-2); }
body.ds-wallet .balance-amount { color: var(--ds-text); }
body.ds-wallet .balance-amount .token-icon { color: var(--ds-acc); }
body.ds-wallet .balance-label, body.ds-wallet .balance-meta { color: var(--ds-soft); }
body.ds-wallet .history-table th { background: var(--ds-surface-2); color: var(--ds-soft); }
body.ds-wallet .history-table .amount.positive { color: var(--ds-ok); }
body.ds-wallet .history-table .amount.negative { color: var(--ds-bad); }
body.ds-wallet .info-card li::before { color: var(--ds-acc); }
body.ds-wallet .info-card li { color: var(--ds-soft); }

/* 4. Кнопки: основная — киноварь, вторичные — контурные */
body.ds-wallet .btn-primary,
body.ds-wallet .pkg-btn,
body.ds-wallet .gift-cta:not(.gift-cta-alt):not(.gift-cta-tg) {
  background: var(--ds-cta); color: var(--ds-on-cta); border: 1px solid var(--ds-cta);
  box-shadow: none; opacity: 1;
}
body.ds-wallet .btn-primary:hover,
body.ds-wallet .pkg-btn:hover,
body.ds-wallet .gift-cta:not(.gift-cta-alt):not(.gift-cta-tg):hover { background: var(--ds-cta-hover); filter: none; opacity: 1; }
body.ds-wallet .btn-outline,
body.ds-wallet .pkg-alt,
body.ds-wallet .gift-cta-alt {
  background: transparent; color: var(--ds-text); border: 1px solid var(--ds-line-strong); box-shadow: none;
}
body.ds-wallet .btn-outline:hover, body.ds-wallet .pkg-alt:hover, body.ds-wallet .gift-cta-alt:hover {
  border-color: var(--ds-acc); color: var(--ds-acc); opacity: 1;
}
body.ds-wallet .btn-primary, body.ds-wallet .btn { border-radius: var(--r-sm); }
body.ds-wallet .btn:hover { opacity: 1; }
body.ds-wallet .gift-cta-tg { background: transparent; color: var(--ds-text); border: 1px solid var(--ds-line-strong); }
body.ds-wallet .gift-cta { border-radius: var(--r-sm); }
body.ds-wallet .theme-toggle { color: var(--ds-soft); border-color: var(--ds-line-strong); }

/* 5. Пакеты: карточка одного размера; выбранный из ?plan= — подсвечен */
body.ds-wallet .pkg-card { transform: none; }
body.ds-wallet .pkg-card:hover { transform: none; border-color: var(--ds-line-strong); }
body.ds-wallet .pkg-card.popular,
body.ds-wallet .pkg-card.best { border-color: var(--ds-line-strong); }
body.ds-wallet .pkg-card.plan-target {
  border: 2px solid var(--ds-acc); background: var(--ds-wash);
}
body.ds-wallet .pkg-badge { box-shadow: none; }
body.ds-wallet .badge-popular { background: var(--ds-cta); color: var(--ds-on-cta); }
body.ds-wallet .badge-best { background: transparent; color: var(--ds-acc); border: 1px solid var(--ds-acc); }
body.ds-wallet .pkg-name { color: var(--ds-acc); }
body.ds-wallet .pkg-tokens { color: var(--ds-text); }
body.ds-wallet .pkg-tokens small, body.ds-wallet .pkg-per, body.ds-wallet .pkg-sbp-hint { color: var(--ds-soft); }
body.ds-wallet .pkg-price { color: var(--ds-text); }
body.ds-wallet .pkg-bonus {
  background: transparent; color: var(--ds-ok); border: 1px solid var(--ds-line-strong);
}
body.ds-wallet .pkg-savings { color: var(--ds-ok); }

/* 6. Подарочный сертификат: акценты D, плоская лента */
body.ds-wallet .gift-eyebrow, body.ds-wallet .gift-steps b { color: var(--ds-acc); }
body.ds-wallet .gift-lead, body.ds-wallet .gift-note { color: var(--ds-soft); }
body.ds-wallet .gift-opt[aria-checked="true"] { outline-color: var(--ds-acc); }
body.ds-wallet .gift-opt:focus-visible { outline-color: var(--ds-focus); }
body.ds-wallet .gift-badge { background: var(--ds-surface); color: var(--ds-soft); border-color: var(--ds-line); }
body.ds-wallet .gift-opt[aria-checked="true"] .gift-badge { background: var(--ds-cta); color: var(--ds-on-cta); border-color: var(--ds-cta); }
body.ds-wallet .gcert {
  background: var(--ds-surface); border: 1px solid var(--ds-line); box-shadow: none;
  --gc-text: var(--ds-text); --gc-brand: var(--ds-acc); --gc-hi: var(--ds-text);
  --gc-soft: var(--ds-soft); --gc-mute: var(--ds-dim); --gc-sub: var(--ds-soft); --gc-code: var(--ds-acc);
}
body.ds-wallet .gcert-meter { background: var(--ds-surface-2); border-left: 1px dashed var(--ds-line-strong); }
body.ds-wallet .gcert-meter i { background: var(--ds-line); }
body.ds-wallet .gcert-meter i.l, body.ds-wallet .gcert-meter i.h { background: var(--ds-acc); }
body.ds-wallet .gcert-meter i.p { background: var(--ds-cta); }
body.ds-wallet .gift-redeem input, body.ds-wallet .gift-code-row, body.ds-wallet .gift-chip {
  background: var(--ds-surface); color: var(--ds-text); border-color: var(--ds-line);
}
body.ds-wallet .gift-chip { background: transparent; border: 1px solid var(--ds-line-strong); }
body.ds-wallet .gift-chip.done { color: var(--ds-ok); }
body.ds-wallet .gift-ok { background: transparent; color: var(--ds-ok); border: 1px solid var(--ds-ok); }
body.ds-wallet .gift-err { background: var(--ds-wash); color: var(--ds-text); }
body.ds-wallet .gift-err a, body.ds-wallet .gift-code-row .gcr-open { color: var(--ds-acc); }

/* 7. Экран входа для гостя — тот же стиль */
body.ds-wallet .login-required h2 { font-family: 'Unbounded', system-ui, sans-serif; font-weight: 500; }

/* 8. Мелочи страницы */
body.ds-wallet .gift-redeem input:focus { border-color: var(--ds-acc); outline: none; }
body.ds-wallet .gift-cta:focus-visible, body.ds-wallet .btn:focus-visible, body.ds-wallet .pkg-btn:focus-visible {
  outline: 2px solid var(--ds-focus); outline-offset: 2px;
}
body.ds-wallet .trust-strip b { color: var(--ds-text); }

@media (max-width: 600px) {
  body.ds-wallet h1 { font-size: 1.4rem; }
}
