/* Mochila Mágica — v3 (Martim, 1 nov. 2026): contador «X de 15 exercícios grátis», cartões de disciplina com contador
   e fim da demonstração. SÓ o que falta no site: usa as variáveis de assets/css/style.css (:root) e não redefine
   nenhuma classe existente. Carregar DEPOIS de style.css e mochi.css (e de demo.css, na demo). Prefixo: mm-. */

/* ---------- Contador «X de 15 exercícios grátis» ----------
   Só para crianças com conta grátis (e só nas disciplinas com limite). Fica dentro de [data-sessao], por isso
   sem sessão já está escondido pelo style.css. Kit / Assinatura Família (sem limite): o JS põe hidden no .mm-ct. */
.mm-ct{background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:10px 14px 12px;color:var(--navy)}
.mm-ct[hidden]{display:none}
.mm-ct-disc{display:block;font:800 .75rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);margin:0 0 7px}
.mm-ct-t{display:flex;align-items:center;gap:8px;margin:0;font:600 1rem/1.2 var(--f-body)}
.mm-ct-t b{font:700 1.125rem/1 var(--f-title)}
.mm-ct-ic{flex:none;width:26px;height:26px;border-radius:50%;background:#FFF1C9;color:#D9A41F;display:grid;place-items:center}
.mm-ct-ic svg{width:16px;height:16px}
.mm-ct-ic .mm-ct-ok{display:none}
.mm-ct-bar{display:grid;grid-template-columns:repeat(15,1fr);gap:3px;margin-top:9px}
.mm-ct-bar i{height:10px;border-radius:5px;background:var(--cream-2)}
.mm-ct-bar i.on{background:var(--yellow)}
/* 15 de 15: verde com visto */
.mm-ct.mm-ct-fim .mm-ct-bar i.on{background:var(--green)}
.mm-ct.mm-ct-fim .mm-ct-ic{background:var(--green);color:var(--navy)}
.mm-ct.mm-ct-fim .mm-ct-ic .mm-ct-star{display:none}
.mm-ct.mm-ct-fim .mm-ct-ic .mm-ct-ok{display:block}
/* dentro de um cartão (página do ano): sem sombra própria, ocupa a largura do cartão */
.card .mm-ct{box-shadow:none;padding:12px 0 0;border-radius:0;border-top:2px solid var(--line);margin-top:12px}
/* no exercício (praticar/treino.html, #s-q), antes de .qtop */
.qcard .mm-ct{box-shadow:none;background:var(--cream);margin:0 0 16px}

/* ---------- Cartões de disciplina com contador (praticar/<ano>/index.html) ----------
   Usa a.card.white-arrow + .ico do site; só acrescenta a cor do ícone e o espaço para a seta. */
.mm-disc .card{padding-bottom:22px}
.mm-disc .card h3{padding-right:52px}
.mm-disc .card>p{margin-bottom:0}
.mm-disc .ico.mm-ico-b{background:#E3EBFE;color:var(--blue-d)}
.mm-disc .ico.mm-ico-o{background:#FFE3D3;color:var(--orange-d)}
.mm-disc .ico.mm-ico-g{background:#DDF5E6;color:var(--green-d)}
.mm-disc .ico.mm-ico-y{background:#FFF1C9;color:#9A6B00}
.mm-disc .card .arrow{top:20px;bottom:auto}
.mm-ct-link{display:block;margin-top:8px;font:700 .95rem/1.2 var(--f-body);color:var(--navy)}

/* ---------- Botões com texto navy (contraste): laranja/verde com texto #1E2A4A (4,98:1 e 5,9:1) ----------
   O .btn do site tem texto branco (2,8:1 sobre o laranja); nos ecrãs novos usa-se .btn.mm-tx-navy. */
.btn.mm-tx-navy{color:var(--navy)}

/* ---------- Fim da demonstração (demo/index.html → demo.js final()) ----------
   Reaproveita .dm-fim, .dm-fim-t, .dm-adulto e .dm-row do demo.css. Só acrescenta: */
.mm-demo-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;background:#fff;border-radius:999px;padding:6px 14px;box-shadow:var(--shadow);font:700 .95rem/1 var(--f-title);color:var(--navy)}
.mm-demo-chip::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--blue)}
.mm-demo-arte{position:relative;width:200px;margin:0 auto}
.mm-demo-arte::before{content:"";position:absolute;inset:12% 6% 4%;border-radius:50%;background:var(--yellow);z-index:-1}
.mm-demo-arte{isolation:isolate}
.dm-adulto.mm-demo-adulto{max-width:360px;text-align:center;padding:16px 16px 18px}
.mm-demo-adulto h3{display:flex;align-items:center;justify-content:center;gap:6px;font:800 .8rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin:0 0 10px}
.mm-demo-adulto h3 svg{width:16px;height:16px}
.mm-demo-adulto .btn{width:100%}
.mm-demo-adulto .btn+.btn{margin-top:12px}
.mm-demo-volta{width:100%;max-width:360px;min-height:56px;margin-top:4px}
@media (min-width:768px){
  .mm-demo-arte{width:260px}
  .dm-fim.mm-demo-fim{max-width:860px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:8px 48px;align-items:center;text-align:left;justify-items:start}
  .mm-demo-fim .mm-demo-arte{grid-row:1 / span 6;justify-self:center}
  .mm-demo-fim .dm-adulto.mm-demo-adulto{text-align:left}
  .mm-demo-fim .mm-demo-adulto h3{justify-content:flex-start}
}
