/* Fidelidade (v19): janelas de resgate e histórico de selos. Usa o visual
   das janelas de Pedidos (pedidos.css: .acp-modal, .acp-erro...). */
.acf-sub { font-size: .8rem; color: var(--ink-soft); margin-top: .15rem; }
.acf-dim { color: var(--ink-soft); font-size: .82rem; }
.acf-mini { font-size: .72rem; }
.acf-forte { font-weight: 700; font-size: 1rem; margin-top: .2rem; }
.acf-custo { color: var(--danger-d); }
.acf-carregando { padding: 1.5rem 0; text-align: center; color: var(--ink-soft); }
.acf-cartao { display: flex; align-items: center; gap: .9rem; padding: .85rem 1rem; border-radius: var(--r-md); background: var(--surface-alt); margin-bottom: 1rem; }
.acf-presente { width: 44px; height: 44px; flex: 0 0 auto; border-radius: 12px; background: var(--sun-s); color: var(--sun-d); display: flex; align-items: center; justify-content: center; font-size: 1.25rem; }
.acf-cartao-txt { flex: 1 1 auto; min-width: 0; }
.acf-barra { height: 8px; border-radius: 999px; background: var(--border-soft); margin: .4rem 0 .25rem; overflow: hidden; }
.acf-barra-in { height: 100%; border-radius: 999px; background: var(--leaf); }
.acf-grade2 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: .75rem; }
.acf-grade2.mt-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.acf-tres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin-bottom: .5rem; }
.acf-caixa { padding: .7rem .85rem; border: 1px solid var(--border-soft); border-radius: var(--r-md); min-width: 0; }
.acf-nota { margin: .75rem 0 0; font-size: .78rem; color: var(--ink-soft); line-height: 1.5; }
.acf-linha { list-style: none; margin: 0; padding: 0; }
.acf-li { display: flex; gap: .75rem; align-items: center; padding: .6rem 0; border-bottom: 1px solid var(--border-soft); }
.acf-li:last-child { border-bottom: 0; }
.acf-li--premio { align-items: flex-start; }
.acf-li-txt { flex: 1 1 auto; min-width: 0; font-size: .9rem; }
.acf-li-top { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; flex-wrap: wrap; }
.acf-ic { width: 32px; height: 32px; flex: 0 0 auto; border-radius: 10px; background: var(--purple-s, #f3e9fb); color: var(--purple-d, #4c1a6b); display: flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 800; }
.acf-ic--cheio { background: var(--leaf-s); color: var(--leaf-d); }
.acf-ic--premio { background: var(--sun-s); color: var(--sun-d); font-size: .95rem; }
.acf-toast { position: fixed; z-index: 1080; left: 50%; bottom: 24px; transform: translateX(-50%); display: flex; gap: .6rem; align-items: center;
  max-width: calc(100vw - 32px); background: var(--ink); color: #fff; padding: .7rem 1rem; border-radius: var(--r-md); box-shadow: var(--sh-lg); font-size: .9rem;
  transition: opacity .4s ease; }
.acf-toast i { color: #6fe39f; }
.acf-toast--sai { opacity: 0; }
@media (max-width: 520px) {
  .acf-grade2, .acf-grade2.mt-3 { grid-template-columns: minmax(0, 1fr); }
  .acf-tres { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
  .acf-caixa { padding: .55rem .6rem; }
  .acf-forte { font-size: .9rem; }
}
