/* Photoboo Web — Settings → Credits (billing.js): pacotes de créditos, pagamento único.
   Mesma escala do resto das configurações (docs/escrita-e-tipografia.md):
   12 rótulo · 15 valor · 13 ajuda. Hierarquia por peso e cor. O dourado da janela
   é o "Done" do rodapé; a ação daqui (comprar o pacote) é o botão claro. Números
   alinhados. */

.bill-now { display: flex; flex-direction: column; gap: 4px; margin-top: 14px; }
.bill-now b { font-size: 28px; font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; }
.bill-now span { font-size: 13px; line-height: 1.5; color: var(--muted); max-width: 64ch; }
.bill-now span.warn { color: var(--accent); }

.bill-packs { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; }
.bill-gift { margin: 0 0 10px; font-size: 15px; font-weight: 700; color: var(--accent); }
.bill-gift[hidden] { display: none; }
.bill-card { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 14px; border-radius: 12px; background: var(--bg); border: 1px solid var(--line); text-align: start; }
.bill-card { cursor: pointer; }
.bill-card:hover, .bill-card:focus-visible { border-color: var(--accent); outline: none; }
/* Botão de compra dentro do pacote escolhido, embaixo da calculadora. */
.bill-card-buy { width: 100%; margin-top: 12px; justify-content: center; text-align: center; }
.bill-card.on { border-color: var(--accent); background: #1c1810; }
.bill-card b { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.bill-card strong { margin-top: 6px; font-size: 21px; font-weight: 700; font-variant-numeric: tabular-nums; }
.bill-card em { font-style: normal; font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
.bill-card small { min-height: 1.2em; margin-top: 4px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
/* Mini calculadora do pacote: quantas fotos ele faz em cada modelo. */
.bill-calc { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; width: 100%; margin: 8px 0 0; padding-top: 8px; border-top: 1px solid var(--line); font-size: 13px; }
.bill-calc dt { color: var(--muted); }
.bill-calc dd { margin: 0; text-align: end; font-weight: 700; font-variant-numeric: tabular-nums; }

.bill-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.1fr); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.bill-grid > * { padding: 10px 14px; border-top: 1px solid var(--line); min-width: 0; font-size: 15px; }
.bill-grid > .bill-head { border-top: 0; padding-block: 9px; background: #151518; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.bill-grid > .bill-head:not(:first-child), .bill-num { text-align: end; }
.bill-num { font-variant-numeric: tabular-nums; }
.bill-grid > .bill-num:nth-child(3n) { color: var(--muted); }
.bill-grid > .bill-num:nth-child(3n + 2) { font-weight: 700; }
.bill-grid em { margin-inline-start: 8px; font-style: normal; font-size: 12px; color: var(--accent); }

.bill-go { margin-top: 14px; }
.bill-start { background: var(--ink); border-color: var(--ink); color: var(--bg); font-weight: 700; backdrop-filter: none; font-variant-numeric: tabular-nums; }
.bill-start:hover, .bill-start:focus-visible { background: #fff; outline: none; }
.bill-start[hidden] { display: none; }
.bill-foot { margin-top: 18px; }

/* Aviso de saldo baixo no topo. */
.bill-chip { color: var(--ink); font-variant-numeric: tabular-nums; }
.bill-chip.low { border-color: #4a3d1f; background: #1c1810; color: var(--accent); }
.mode-app .top-tools > #billing-chip { order: 5; }

@media (max-width: 720px) {
  .bill-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr) minmax(0, 1fr); }
  .bill-grid > * { padding-inline: 10px; font-size: 13px; }
}

/* Modo de teste (BILLING = "sandbox"): impossível de confundir com cobrança de verdade. */
.bill-test { margin: 0 0 12px; padding: 12px 14px; border-radius: 12px; border: 1px dashed #5b8def; background: #0f1a2e; color: #cfe0ff; font-size: 15px; line-height: 1.45; }
.bill-test[hidden] { display: none; }

.bill-legal a { color: inherit; text-decoration: underline; }
