/* ─── User mini app — локальная обвязка под BTG ──────────────
   Общие токены и компоненты — в btg-tokens.css / btg-components.css.
   Сюда кладём только то, что специфично для экрана подписки.
   ──────────────────────────────────────────────────────────── */

.app-screen {
  padding-bottom: calc(var(--btg-safe-bottom) + 96px);
  display: flex; flex-direction: column;
  gap: var(--btg-s-6);
}

.app-head {
  display: flex; flex-direction: column; gap: 2px;
}

.app-foot {
  margin-top: var(--btg-s-4);
  display: flex; flex-direction: column; gap: 4px;
  line-height: 1.5;
}

/* Список тарифов */
.tariff-list {
  display: flex; flex-direction: column;
  gap: var(--btg-s-3);
}

.tariff-list .btg-tariff {
  display: flex; flex-direction: row; align-items: center;
  justify-content: space-between;
  gap: var(--btg-s-4);
}

.tariff-main { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.tariff-aside { text-align: right; flex-shrink: 0; }

.tariff-free {
  font-family: var(--btg-font-brand);
  font-size: 22px; font-weight: var(--btg-fw-bold);
  color: var(--btg-success); letter-spacing: -0.01em;
}

/* Скелетоны загрузки */
.tariff-skeleton {
  height: 80px; border-radius: var(--btg-r-lg);
  background: linear-gradient(90deg, var(--btg-surface) 0%, var(--btg-surface-2) 50%, var(--btg-surface) 100%);
  background-size: 200% 100%;
  animation: shimmer 1.4s infinite;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Sticky CTA */
.cta-bar {
  position: fixed; left: 0; right: 0; bottom: 0;
  padding: 12px 16px calc(var(--btg-safe-bottom) + 12px);
  background: linear-gradient(180deg, transparent 0%, var(--btg-bg) 40%);
  z-index: 100;
}
.cta-bar > .btg-btn { max-width: var(--btg-maxw); margin: 0 auto; display: flex; }

/* Статус-чип внутри hero */
.hero-status {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 10px; border-radius: var(--btg-r-pill);
  font-size: 11px; font-weight: var(--btg-fw-bold);
  letter-spacing: 0.08em; text-transform: uppercase;
  background: rgba(255,255,255,0.22); color: #fff;
  margin-bottom: 12px;
}
.hero-status-dot {
  width: 6px; height: 6px; border-radius: 50%; background: #fff;
  box-shadow: 0 0 8px rgba(255,255,255,0.8);
}

/* Блок ошибки на весь экран */
.app-error {
  display: flex; align-items: center; justify-content: center;
  min-height: 50vh;
}

/* Fullscreen mode — в TG скрывается системный хедер, надо добавить
   собственный вертикальный воздух, чтобы контент не липнул к островку. */
body.is-fullscreen .btg-screen {
  padding-top: calc(var(--btg-header-top-gap) + var(--btg-s-8));
}
body.is-fullscreen .app-head {
  margin-top: var(--btg-s-2);
}
